Skip to content
KitploitKITPLOIT
OutilsBlog
Soumettre
OutilsBlog
Soumettre

Outils de Hacking, PenTest et Cybersécurité pour votre Arsenal de Sécurité !

Kitploit est un répertoire d'outils de hacking, de cybersécurité et de pentesting. Découvrez les dernières mises à jour des projets pour trouver des vulnérabilités, analyser des systèmes, automatiser les tests et renforcer votre sécurité.

··Flux·Contact·Confidentialité·© 2026 Kitploit

Répertoire d'outils

Catégories

Voir toutes les catégories
Loading categories
badepoll-selinux-disabler — Utilisez CVE-2026-43074 pour désactiver SELinux sur Android (Linux 6.6/6.12) | Kitploit
Outils/GitHubGitHub/perongh/badepoll-selinux-disabler
Sécurité AndroidEscalade de PrivilègesFrameworks d'ExploitationExploitationRed TeamingDéveloppement de Charges UtilesExploitation de Binaires
GitHubperongh/badepoll-selinux-disabler

badepoll-selinux-disabler

Utilisez CVE-2026-43074 pour désactiver SELinux sur Android (Linux 6.6/6.12)

Voir le dépôt
6214il y a 1 moisPas encore vérifié

Populaires

Voir tout →

Découvrez les outils les plus utilisés par notre communauté.

Explorer tous les outils

Parcourez notre collection d'outils

Voir tous les outils →
Partager

badepoll-selinux-disabler

Extraction autonome de l'étape de désactivation de SELinux de l'exploit UAF eventpoll CVE-2026-43074. Il entre en concurrence (race condition) avec la vérification de profondeur de boucle eventpoll (ep_get_upwards_depth_proc) pour écrire un zéro dans selinux_state.enforcing, basculant l'appareil en mode Permissif via une écriture noyau d'un seul octet. Il s'agit uniquement de la primitive de désactivation du MAC — aucune escalade de privilèges.

[!WARNING] Preuve de concept d'exploit noyau. Peut planter le noyau, corrompre des données ou laisser l'appareil incohérent. Exécutez uniquement sur des appareils que vous possédez ou que vous êtes autorisé à tester. Sauvegardez d'abord.

Origine

Extraite du PoC complet par NebuSec (arborescence source). L'UAF se trouve dans la vérification de profondeur de boucle eventpoll (ep_get_upwards_depth_proc), qui parcourt epi->ep sous RCU pendant que ep_free() peut libérer le struct eventpoll depuis un thread concurrent. En amont, cela a été corrigé en différant la libération à une période de grâce RCU (commit 07712db8; NVD, OSV).

Ceci est distinct de "Bad Epoll" (CVE-2026-46242), un autre use-after-free dans ep_remove() dans le même code eventpoll ; la race condition ici concerne spécifiquement le bogue de durée de vie de la vérification de profondeur de boucle corrigé par 07712db8.

Noyaux affectés

Selon le CNA de kernel.org (via OSV/NVD), les branches stables vulnérables et leurs correctifs :

  • 6.4.0 – <6.6.136 (corrigé en 6.6.136)
  • 6.7.0 – <6.12.83 (corrigé en 6.12.83)
  • 6.13.0 – <6.18.24 (corrigé en 6.18.24)
  • 6.19.0 – <6.19.14 (corrigé en 6.19.14)

Le noyau cible épinglé 6.6.118-android15-8 se trouve dans la plage 6.6 affectée (corrigé en 6.6.136). Les noyaux des fournisseurs qui ont backporté le correctif sans incrémenter la version amont ne sont pas vulnérables — vérifiez la présence réelle du patch plutôt que de vous fier uniquement à uname -r.

Cible

Épinglé à une build exacte — l'octet enforcing est atteint via un alias KVA codé en dur et la race condition dépend de l'agencement slab de ce noyau :

  • Appareil : Pixel 10 Pro / blazer
  • Kernel : 6.6.118-android15-8-g53e6e091166e-ab15266607-4k
  • Fingerprint : google/blazer/blazer:17/CP2A.260705.006/15641320:user/release-keys
  • Alias : TARGET_SELINUX_ENFORCING_ALIAS = 0xffffff800236a2e0

Re-cibler une autre build nécessite de recalculer l'alias (offset image de selinux_state + base de mappage + adresse de chargement) dans src/target.h.

Construction

Nécessite le NDK Android avec la chaîne d'outils clang aarch64. Par défaut : NDK_ROOT=/opt/android-ndk, API=35 :

root@kitploit:~
make            # → build/disabler

Remplacer si nécessaire :

root@kitploit:~
make API=35 NDK_ROOT=/path/to/android-ndk

Exécution

Poussez build/disabler sur l'appareil et exécutez en tant qu'utilisateur shell (uid 2000). SELinux doit être Enforcing au départ ; le binaire s'arrête sinon. En cas de succès :

root@kitploit:~
SELINUX_AFTER Permissive
RESULT PASS selinux_zero attempt=N

Vérifiez avec getenforce → Permissive.

Portée

L'exploit original ajoute, par-dessus cette primitive, une redirection flags de pipe-buffer (écriture de style DirtyPipe dans une page cache en lecture seule) qui patch /system/bin/dumpstate pour lancer un démon root. Ces étapes (pipe.c, patch.c, su.c, payloads.S et l'orchestration originale main.c) sont supprimées ici, et late_refs.c est réduit à son chemin de redirection d'octet zéro. Désactiver SELinux seul n'accorde pas root — cela supprime uniquement l'application du MAC afin que la charge utile porteuse puisse s'exécuter sans restriction.

Télécharger l’outil