Root-Rechte über Speicher-Exploit möglich
Zusammenfassung
Im Januar 2012 wurde eine Lücke im Linux-Kernel ab Version 2.6.39 bekannt, über die lokale Benutzer mit /proc/pid/mem Root-Rechte erlangen konnten. Seit 2.6.39 war dort Schreibzugriff möglich, und die Prüfung über self_exec_id ließ sich mit einem Kindprozess umgehen. Jason A. Donenfeld erklärte den Fehler, kurz darauf kursierten Exploits über das setuid-Programm su; auch Android war betroffen.
Ideen
- Schreibzugriff auf den Speicher anderer Prozesse braucht besonders strenge Prüfung.
- Ein neu erlaubter Zugriffsweg öffnete eine Lücke.
- setuid-Programme wie su dienten als Hebel für die Rechteausweitung.
- Auch Android-Geräte waren über den gemeinsamen Kernel betroffen.
- Bei Android 4.0 funktionierte der Exploit nur über run-as und eine ADB-Verbindung.
Einsichten
- Neue Freiheiten in Kernel-Schnittstellen brauchen dieselbe Prüfung wie neue Funktionen.
- Detaillierte Erklärungen beschleunigen auch die Entwicklung von Exploits.
Fakten
- Betroffen waren Kernel ab Version 2.6.39.
- Linus Torvalds veröffentlichte den Patch selbst.
Referenzen
Kritik
- Die Meldung nennt keine CVE-Kennung, was den Abgleich mit Distributionsupdates erschwert.
Bemerkungen
- Der Exploit wurde als „Mempodipper“ bekannt; Donenfeld entwickelte später WireGuard.
Empfehlungen
- Reduziere setuid-Programme auf ein Minimum.
- Schränke den Zugriff auf /proc anderer Prozesse mit hidepid ein, wo es passt.
Links zur Originalquelle und zum Webarchiv öffnen einen neuen Tab.