
Exploit de kernel Android para Samsung Galaxy S22 que obtém root no domínio do kernel via CVE-2026-43499, com SELinux permissivo, kallsyms específicos do dispositivo e registro de panic.
Encontre aqui https://github.com/CamsShaft/IonStack-S22
Root completo no domínio do kernel com selinux permissivo no meu SM-S901W S22 5.10.168-android12-9-27760517-abS901WVLS4DWL3.
Não vou entrar em grandes detalhes ou extensões neste aqui, pois existem cerca de 5.000 outros repositórios por aí e, como aprendi, quase cada uma dessas variações do mesmo exploit é única para o dispositivo ao qual são adaptadas, e estou cansado de preencher esses textos. O meu, em particular, veio deste talentoso cavalheiro aqui, e todo o crédito vai para ele por este método https://github.com/sarabpal-dev/IonStack-S22U Vou mostrar exatamente por que um write-up extenso é inútil e que todas as informações incluídas são suficientes como modelo. Abaixo está o dispositivo que sarabpal-dev usou e, abaixo desse, o meu
Device: Samsung Galaxy S22 Ultra (SM-S908W)
Codename: b0q
Android: 15 / SDK 35
Build number: AP3A.240905.015.A2.S908WVLS8FYG7
Build display ID: AP3A.240905.015.A2.S908WVLS8FYG7
Build fingerprint: samsung/b0qcsx/b0q:15/AP3A.240905.015.A2/S908WVLS8FYG7:user/release-keys
Kernel: 5.10.226-android12-9-30958166-abS908WVLS8FYG7
Architecture: aarch64
Device: Samsung Galaxy S22 (SM-S901W)
Codename: r0q
Android: 14 / SDK 34
Build number: UP1A.231005.007.S901WVLS4DWL3
Build display ID: UP1A.231005.007.S901WVLS4DWL3
Build fingerprint: samsung/r0qcsx/r0q:14/UP1A.231005.007/S901WVLS4DWL3:user/release-keys
Kernel: 5.10.168-android12-9-27760517-abS901WVLS4DWL3
Architecture: aarch64
Então, como você pode ver, eles são muito semelhantes, mas há uma diferença muito grande entre eles. A versão dele usa um executável construído inteiramente em 32 bits, enquanto para o meu eu tive que mudá-lo para 64 bits, ainda sendo compatível com o resto do código. Foi necessária bastante desmontagem, entre outras coisas, para verificar se era sequer uma rota explorável válida de se usar. Felizmente era, mas não darei garantias para mais ninguém. Espero que ainda seja um bom método que muitas pessoas possam usar, mas isso cabe a vocês descobrirem. Os readme's e alguns comentários podem estar fora do escopo para este dispositivo, mas o código é preciso, então foi isso que importou para mim
P.S. o que você precisa é do android-ndk no termux e das versões exatas do seu firmware boot.img para extrair o kernel e o kallsyms. Adicionei logging para que ele salve um arquivo em /sdcard/cve-2026-43499.log, para que, caso entre em pânico, você pelo menos tenha algumas informações para trabalhar se não souber como encontrar as informações relevantes após um reboot (não deveria estar fazendo isso se for o caso, mas isso não vem ao caso).