x86-64-Architektur: Fehler im Linux-Kernel kann für Abstürze ausgenutzt werden
Der Programmierer Andy Lutomirski weist auf eine Reihe kleinerer Fehler(öffnet im neuen Fenster) im Linux-Kernel hin, die im Zusammenhang mit dem Befehl eines Interrupt Returns(öffnet im neuen Fenster) (IRET) der x86-Architektur stehen. Einer der Fehler (CVE-2014-9322) könnte als Erweiterung zu einem bereits vorher angekündigten Problem (CVE-2014-9090) bezeichnet werden.
Lutomirski schreibt, dass jeder Nutzer, dessen Kernel keinen Patch für den zuletzt genannten Fehler eingespielt hat, auch für die nun gefundene Lücke anfällig sei. Durch einen inkorrekten Umgang mit einem Fehler in der Speicherverwaltung, die durch eine IRET-Anweisung verursacht worden ist, könnten Angreifer erweiterte Rechte erlangen.
Dieser Angriffsvektor wird zwar bei Systemen minimiert, die SMAP(öffnet im neuen Fenster) und UDEREF(öffnet im neuen Fenster) unterstützen. Doch dies führt dann immer noch zu "massiven Speicherfehlern" und eventuell sogar einem Absturz mit anschließendem Neustart.
Darüber hinaus habe IRET einen Design-Fehler, so Lutomirski: Wird die Anweisung auf ein 16 Bit großes Stacksegment aufgerufen, werden die nächsten 16 Bit des Kernel-Stack-Zeigers sichtbar. Dies wird durch die Espfix(öffnet im neuen Fenster) genannte Technik eigentlich verhindert. Doch Lutomirski hat eine Möglichkeit gefunden, Espfix zu umgehen (CVE-2014-8133). Ebenso hat diese Technik unter 32-Bit-Sytemen, die mit KVM virtualisiert worden sind, nicht funktioniert (CVE-2014-8134).
Patches für die gefundenen Lücken stehen bereit und sollten von den Distributionen demnächst bereit gestellt werden. Lutomirski bietet auch Tests an, um zu überprüfen, ob die eigenen Systeme anfällig für die Fehler sind. Das Ausführen des Test kann dann aber den beschriebenen Absturz verursachen.
- Anzeige Hier geht es zu Hacking & Security: Das umfassende Handbuch bei Amazon Wenn Sie auf diesen Link klicken und darüber einkaufen, erhält Golem eine kleine Provision. Dies ändert nichts am Preis der Artikel.