18.08.2010 15:25
Root-Rechte durch Linux-Kernel-Bug [Update]
Durch ein konzeptionelles Problem in der Speicherverwaltung von Linux können lokale Angreifer unter Linux Code mit Root-Rechten ausführen, wie Rafal Wojtczuk in seinem Paper beschreibt. Das Problem beruht auf der möglichen Überschneidung der Speicherbereiche des Stacks und von Shared-Memory-Segmenten unter Linux.
Wojtczuk führt als konkretes Angriffsbeispiel den X-Server an, bei dem sich durch Ausfüllen des Speichers mit Daten (etwa Pixmaps etc.) die Grenzen von Heap und Stack sehr nah aneinanderbringen lassen. Ein dann vom Angreifer angefordertes Shared Memory Segment wird dann an das Ende des Heaps gehängt. Schafft man es nun, den X-Server eine rekursive Funktion aufrufen zu lassen, so wächst der Stack in das Shared Memory Segment. Schreibt der Angreifer in diesem Moment in den angeforderten Shared Memory, so verändert er zugleich den Inhalt des Stacks, etwa Rücksprungadressen. Auf diese Weise lässt sich Code mit Root-Rechten ausführen. Der grsecurity-Entwickler Brad Spengler hat einen Exploit veröffentlicht, der das Problem demonstriert – aber nur zum Absturz des X-Server führt.
Laut Sicherheitsexpertin Joanna Rutkowska ist die Schwachstelle schon seit Jahren im Kernel vorhanden, vermutlich seit der Veröffentlichung von Version 2.6 im Dezember 2003. [Update: In einer E-Mail an unsere englische Schwester-Publikation The H erklärt Rutkowska, dass Spenglers Exploit eine andere, unabhängige Schwachstelle betreffe. Ihre Bemerkungen dazu bezogen sich nur auf einen Kommentar im Quellcode.]
Wojtczuk schlägt in seinem Paper als Lösung vor, für einen Mindestabstand von einer Speicherseite (Guard Page) zwischen Stack und anderen Speicherbereichen zu sorgen. Diese Funktion wurde in den Kernel-Versionen 2.6.32.19, 2.6.34.4 und 2.6.35.2 bereits implementiert – jedoch ohne explizit auf das Problem hinzuweisen. Zudem werden Prozesse, deren Stack die Grenze anderer Speicherbereiche berührt, nun per SIGBUS terminiert. Für 2.6.27.52 wird ein Update noch vorbereitet. Wer nicht den Kernel von Kernel.org nutzt, sollte auf ein Update seitens des Anbieter der jeweiligen Linux-Distribution warten. Red Hat hat bereits mit einem eigenen Hinweis reagiert.
Ausnutzen lässt sich Schwachstelle bei allen älteren Versionen, sofern auf dem System ein X-Server läuft. Will man ein System aus der Ferne kompromittieren, müsste man zunächst eine weitere Lücke ausnutzen, um überhaupt Code auf das System schleusen und ausführen zu können. Im zweiten Schritt würde man sich denn auf dem oben beschriebenen Weg Root-Rechte verschaffen. Kernel-Entwickler Greg Kroah-Hartman richtet sich mit deutlichen Worten an die Linux-Gemeinde: "Alle Nutzer [der betroffenen Kernel-Serien] müssen updaten."
[Update: SUSEs Maintainer Andrea Arcangeli hat bereits im September 2004 einen Fix für das Problem angeboten, der aber aus unbekannten Gründen nicht in den allgemeinen Kernel aufgenommen wurde, wie Marcus Meissner vom Suse-Security-Team gegenüber heise Security erklärt. SUSE selbst hat den Fix zumindest in SUSE Linux Enterprise 9 und 11 sowie openSUSE 11.1-11.3 eingepflegt. Für den SUSE Linux Enterprise Server 10 stellen die Entwickler ein Update in Aussicht.]
(rei)
Unsere Entdeckung, dass via Skype verschickte URLs von Microsoft besucht werden, hat für einigen Aufruhr gesorgt. Mittlerweile liegen etwas mehr Informationen dazu auf dem Tisch.
Die aktuelle BKA-Trojaner sperrt nicht nur den Rechner, sondern legt auch Bilder mit Kinderpornografie auf dem System ab. Mit Desinfec't kann man diesen Unrat aufspüren und beseitigen.
Der Krypto-Experte Karsten Nohl kritisiert die Absenkung des Schutzniveaus für Steuer-, Sozial- und Gerichtsdaten im Rahmen der gesetzlichen Anpassungen für De-Mail.
Wer verhindern will, dass Nutzer auf fremde Kalender zugreifen oder eigenen PHP-Code in den Server einschleusen, sollte baldmöglichst auf eine der aktuellen Versionen umsteigen.
Die Mozilla-Entwickler haben zahlreiche Sicherheitslöcher in Firefox und Thunderbird gestopft. Durch eine kann ein Angreifer, der bereits einen Fuß in der Tür hat, an Systemrechte gelangen.