Skip to content
KitploitKITPLOIT
ToolsBlog
Einreichen
ToolsBlog
Einreichen

Hacking-, PenTest- und Cybersicherheits-Tools für Ihr Sicherheitsarsenal!

Kitploit ist ein Verzeichnis von Hacking-, Cybersicherheits- und Pentesting-Tools. Entdecken Sie die neuesten Projekt-Updates, um Schwachstellen zu finden, Systeme zu analysieren, Tests zu automatisieren und Ihre Sicherheit zu stärken.

··Feeds·Kontakt·Datenschutz·© 2026 Kitploit

Tool-Verzeichnis

Kategorien

Alle Kategorien anzeigen
Loading categories
bad-epoll — Linux-Kernel-Exploit zur Privilegieneskalation für CVE-2026-46242, ein Race-Condition-Use-after-Free in epoll, mit 99 % zuverlässigem Root-Zugriff auf Desktops, Servern und Android-Geräten. | Kitploit
Tools/GitHubGitHub/j-jaeyoung/bad-epoll
Android-SicherheitPrivilege EscalationSchwachstellenanalyseExploitationCTFLernen & BildungBinary-Exploitation
GitHubj-jaeyoung/bad-epoll

bad-epoll

Linux-Kernel-Exploit zur Privilegieneskalation für CVE-2026-46242, ein Race-Condition-Use-after-Free in epoll, mit 99 % zuverlässigem Root-Zugriff auf Desktops, Servern und Android-Geräten.

Repository anzeigen
506443vor 2 MonatenVon Kitploit geprüft

Beliebteste

Alle anzeigen →

Entdecken Sie die meistgenutzten Tools unserer Community.

Alle Tools erkunden

Durchsuchen Sie unsere Tool-Sammlung

Alle Tools anzeigen →
Teilen

Bad Epoll: Der Fehler, den Mythos übersehen hat

Bad-Epoll-Exploit in Aktion: Ein Prozess ohne Privilegien erlangt Root-Rechte

Ein Prozess ohne Privilegien erlangt auf Google kernelCTF Root-Rechte.

Bad Epoll (CVE-2026-46242) ist ein Use-after-Free durch eine Race Condition im epoll-Subsystem des Linux-Kernels. Dieser Fehler erlaubt es einem Prozess ohne Privilegien, Root-Rechte zu erlangen, nicht nur auf Linux-Desktops und -Servern, sondern auch auf Android-Geräten.

Bad Epoll wurde von Jaeyoung Chung als 0-Day-Einreichung bei Google kernelCTF gemeldet und ausgenutzt. kernelCTF belohnt einen Linux-Kernel-Exploit mit 71.337 $ oder mehr.

[!NOTE] Die KI von Anthropic, Mythos, fand einen weiteren Race-Bug im selben epoll-Code, übersah jedoch Bad Epoll.


Warum es schwerwiegend ist

  1. Ein seltener Fehler, der Android rooten kann. Die meisten Linux-Privilege-Escalation-Fehler können Android überhaupt nicht rooten. Copy Fail und seine Varianten benötigen beispielsweise Module, die Android nie lädt. Von den etwa 130 Schwachstellen, die auf Googles kernelCTF ausgenutzt wurden, kommen nur etwa zehn als Kandidaten zum Rooten von Android in Frage. Bad Epoll ist eine davon.

    • Bad Epoll kann auch aus der Renderer-Sandbox von Chrome heraus ausgelöst werden, die fast jeden anderen Kernel-Fehler blockiert. Ein Renderer-Exploit könnte daher mit Bad Epoll zu Kernel-Codeausführung verkettet werden, dieselbe Auswirkung, die Project Zero in "From Chrome renderer code exec to kernel with MSG_OOB" demonstriert hat.
  2. Kein Kill-Switch. Copy Fail und seine Varianten können neutralisiert werden, indem ihre verwundbaren Module entladen werden, aber epoll bietet keine solche Option. Es ist eine Kernfunktion des Kernels, auf die sich Betriebssystem, Netzwerkdienste und Browser gleichermaßen verlassen. Der einzige Weg, das Problem zu beheben, ist das Einspielen des Patches.

  3. Winziges Race-Fenster, aber der Angriff ist zu 99 % zuverlässig. Das Race-Fenster des Fehlers ist nur etwa sechs Befehle breit, und ein normaler Versuch trifft es fast nie. Der Exploit verbreitert dieses Fenster und führt eine Wiederholungsschleife aus, die den Kernel nie zum Absturz bringt. Das Ergebnis ist ein zu 99 % zuverlässiger Exploit, wie die Angriffsübersicht unten beschreibt.


Der von Mythos übersehene Fehler

Ein einzelner Commit aus dem Jahr 2023 führte zwei separate Race Conditions in den epoll-Code ein, der insgesamt nur etwa 2.500 Zeilen umfasst. Beide entpuppten sich als kritische Fehler, die zu Privilege Escalation führen können.

Der erste wurde von Anthropics Mythos gefunden und als CVE-2026-43074 gemeldet. Dieses Ergebnis ist für sich genommen beeindruckend, da Race-Bugs im Kernel bekanntermaßen schwer zu finden sind. Es zeigte die Fähigkeit eines Frontier-KI-Modells, Race-Bugs zu finden. Ein unabhängiger Forscher reichte später einen 1-Day-Exploit dafür bei kernelCTF ein.

Die andere Race Condition ist Bad Epoll, die Mythos übersehen hat. Da Mythos den ersten Fehler in diesem kleinen epoll-Codepfad gefunden hat, hat es denselben Bereich wahrscheinlich mit beachtlicher Tiefe untersucht. Wir können nicht genau wissen, warum es Bad Epoll übersehen hat, aber zwei Faktoren haben das Auffinden wahrscheinlich erschwert.

  • Das Race-Fenster ist winzig. Es ist nur etwa sechs Befehle breit, sodass die genaue Thread-Verschränkung schwer vorstellbar ist, selbst wenn man den verwundbaren Code betrachtet.

  • Es gab wenige Laufzeit-Hinweise. Nachdem CVE-2026-43074 behoben wurde, löst der Use-after-Free von Bad Epoll normalerweise kein KASAN aus, den wichtigsten Speicherfehler-Erkenner des Kernels. Ohne dieses Signal hatte Mythos möglicherweise nicht genug Vertrauen, um es als echten Fehler zu melden.

Auch die Behebung von Bad Epoll war schwierig. Der erste Patch der Maintainer behob das Problem nicht vollständig, und ein korrekter Patch landete erst zwei Monate nach der ersten Meldung des Fehlers. Das ist eine lange Zeit für einen Kernel, der Sicherheitsprobleme normalerweise mit Dringlichkeit behandelt.

Insgesamt zeigt Bad Epoll, wie schwierig Race Conditions in jeder Phase sind. Sie sind selbst für ein Frontier-Modell schwer zu finden, schwer korrekt zu beheben und, wie der nächste Abschnitt zeigt, schwer zuverlässig auszunutzen. Es deutet auch auf eine Richtung der Schwachstellenforschung hin, die es selbst in Gegenwart von Frontier-KI-Modellen noch zu erkunden lohnt: die Aufdeckung realer Sicherheitsauswirkungen hinter engen Timing-Bedingungen und schwachen Hinweisen.


Wie der Angriff funktioniert

Hier ist ein Überblick auf hoher Ebene über den Angriff, für die Neugierigen.

ep_waiter überwacht ep_target: die epoll-Strukturen hinter dem Fehler

Zwei verknüpfte epoll-Objekte. Das gleichzeitige Schließen beider löst die Race Condition aus.

Zwei Schließpfade von epoll laufen gleichzeitig ab und kollidieren. Einer gibt ein Objekt frei, während der andere noch hineinschreibt, und das ist der Use-after-Free (UAF).

Das Close-vs-Close-Race-Fenster und wie der Exploit es über einen Timer-Interrupt antreibt

Das Race-Fenster und wie der Exploit es antreibt.

Der Exploit verwendet vier epoll-Objekte, die in zwei Paaren gruppiert sind. Ein Paar löst die Race Condition aus, während das andere zum Opfer wird. Von dort verwandelt der Exploit den 8-Byte-UAF-Schreibzugriff in einen UAF auf ein Dateiobjekt und nutzt einen Cross-Cache-Angriff, um den Inhalt der Datei vollständig zu kontrollieren.

Beliebiger Kernel-Read: Eine verwaiste struct file, die von einer Pipe unterstützt wird, leakt Kernel-Adressen über /proc/self/fdinfo

Den Fehler in einen beliebigen Kernel-Speicher-Read über /proc/self/fdinfo verwandeln.

Mit dieser Kontrolle erlangt der Exploit einen beliebigen Kernel-Speicher-Read über /proc/self/fdinfo. Schließlich übernimmt er den Kontrollfluss und führt eine ROP-Kette aus, um eine Root-Shell zu erhalten.

Weitere Details sind im vollständigen Exploit-Writeup und Code verfügbar.


Gegenmaßnahmen

Da epoll nicht deaktiviert werden kann, gibt es für Bad Epoll keinen einfachen Workaround. Das einzige Mittel ist das Einspielen des Patches.

  • Wenden Sie den Upstream-Commit a6dc643c6931 an oder den Backport Ihrer Distribution, sobald er verfügbar ist.

Betroffene Versionen

Bad Epoll wurde mit 58c9b016e128 (2023-04-08) eingeführt und mit a6dc643c6931 (2026-04-24) behoben.

Viele Linux-Distributionen können betroffen sein, wenn sie Kernel auf Basis von v6.4 oder neuer verwenden und den Fix noch nicht zurückportiert haben. Prüfen Sie die Kernel-Sicherheitsupdates Ihrer Distribution auf einen Backport des obigen Fix-Commits. Ältere v6.1-basierte Kernel sind nicht betroffen, da der Fehler erst in v6.4 eingeführt wurde.

Der aktuelle Exploit ist für die folgenden Google-kernelCTF-Ziele geschrieben.

  • lts-6.12.67 (LTS), zu 99 % zuverlässig
  • cos-121-18867.294.100 (COS), zu 98 % zuverlässig

Der Android-Exploit befindet sich noch in Arbeit.

  • Pixel 10 (Kernel v6.6+): Das aktuelle PoC löst den UAF aus, und ein vollständiger Root-Exploit ist in Arbeit. Wir werden den Android-Exploit und das Writeup veröffentlichen, sobald sie fertig sind.
  • Pixel 8 und andere v6.1-basierte Geräte: nicht betroffen, da der Fehler erst in v6.4 eingeführt wurde.

Zeitleiste


FAQ

Warum heißt es "Bad Epoll"?

Der Name folgt der "Bad"-Serie von Android-rootenden Kernel-Fehlern, zu deren früheren Einträgen Bad Binder, Bad IO_uring und Bad Spin gehören. Bad Epoll ist das epoll-Pendant.

Wo finde ich die technischen Details?

Diese Seite ist die Kurzversion. Die vollständige Root-Cause-Analyse, das Exploit-Writeup und den Exploit-Code finden Sie unter den folgenden Links.

  • Root-Cause-Writeup
  • Exploit-Writeup
  • Exploit-Code

Danksagungen

Bad Epoll wurde von Jaeyoung Chung gemeldet und ausgenutzt.

Großer Dank geht an unsere Forschungsgruppe, das CompSec Lab, und insbesondere an Eulgyu Kim, Woohyuk Choi, Dae R. Jeong sowie meinen Betreuer Byoungyoung Lee für ihre Anleitung und Unterstützung.

Tool herunterladen
DatumEreignis
2023-04-08Der Fehler wurde in epoll eingeführt (Commit 58c9b016e128).
2026-02-17Wir meldeten den Fehler an [email protected].
2026-02-17Die Maintainer schlugen einen Patch-Prototypen vor, aber es war keine korrekte Behebung, und die Diskussion geriet daraufhin ins Stocken.
2026-04-02Die Behebung für den von Mythos gefundenen Fehler (CVE-2026-43074) landete im Mainline-Kernel.
2026-04-22Wir meldeten das verbleibende Problem erneut.
2026-04-24Die Behebung für diesen Fehler landete im Mainline-Kernel (Commit a6dc643c6931).