Sicherheitslücke im Linux-Kernel

Ein manipulierter SMB-Server kann ein Linux-Anwender-System zum Absturz bringen oder kompromittieren. Der Fehler sollte zwar im Kernel 2.6.29.1 behoben sein, ganz sicher scheinen sich die Entwickler aber nicht zu sein.

In Pocket speichern vorlesen Druckansicht 332 Kommentare lesen
Lesezeit: 2 Min.
Von
  • Daniel Bachfeld

Durch eine Schwachstelle im Linux-Kernelcode für den CIFS-Client soll es möglich sein, dass ein manipulierter SMB-Server ein Anwender-System abstürzen lassen oder kompromittieren kann. Ursache ist ein zu kleiner Puffer in der Funktion CIFSTCon in fs/cifs/connect.c bei der Verarbeitung der Serverantwort auf den Verbindungswunsch auf eine Ressource, ein so genannter Tree Connect. Damit ließe sich Code einschleusen und ausführen. Der Fehler tritt in der Regel nur beim Mounten auf.

Die Linux-Entwickler haben bereits mit der Kernel-Version 2.6.29.1 versucht, den Fehler zu beheben, indem sie die Pufferlänge einfach verdoppelten. Allerdings wiesen sie nicht explizit darauf hin, dass es sich um ein potenzielles, über das Netzwerk ausnutzbares Problem handelte. Der Sicherheitsspezialist Felix von Leitner vermutete in seinem Blog aber bereits Anfang dieser Woche, dass es sich um eine Sicherheitslücke in CIFS handelt, die aus der Ferne ausnutzbar sei. Gegenüber heise Security gab er an, dass der Fix im Kernel 2.6.29.1 das Problem zwar löse, der gesamte Code aber fragwürdig sei. Beispielsweise seien die Prüfungen der Länge von Zeichenketten wackelig.

Ganz sicher sind sich die CIFS-Entwickler mit ihrem Patch in der aktuellen Kernelversion wohl nicht, denn auf der linux-cifs-client-Mailingliste diskutieren sie weiter über die sinnvolle Länge des Puffers. Suresh Jayaraman von Suse vermutete, dass statt einer Verdoppelung eher eine Vervierfachung der Länge nötig sei. Im Laufe der Diskussion kamen die Entwickler zu dem Schluss, dass es notwendig sei, die Funktionen zur Längenprüfung zu übergebender Zeichenketten vollständig zu überarbeiten.

Siehe dazu auch

(dab)