Stabsstelle DV-Sicherheit der
Universität Stuttgart (RUS-CERT)
https://cert.uni-stuttgart.de
logo
Meldung Nr: RUS-CERT-777

[Sun/Solaris] Pufferüberlauf im X11-Server Xsun
(2002-04-08 16:21:20+00)

Quelle: http://cert.uni-stuttgart.de/archive/bugtraq/2002/04/msg00016.html

Der X11-Server Xsun unter Solaris enthält einen Pufferüberlauffehler, der von Benutzern mit interaktivem Zugang dazu ausgenutzt werden kann, unautorisiert root-Rechte zu erlangen.

Betroffene Systeme

Einfallstor
lokaler Aufruf des Kommandos

/usr/openwin/bin/Xsun [...] -co 
mit einem speziell formatierten Parameter

Auswirkung
Erlangung von root-Privilegien durch einen lokalen Benutzer
(local root compromise)

Typ der Verwundbarkeit
(heap) buffer overflow bug

Gefahrenpotential
hoch
(Hinweise zur Einstufung des Gefahrenpotentials.)

Kontext
Xsun ist der Standard X11-Server unter Solaris. Um bei Aufruf durch nichtprivilegierte Benutzer (z. B. mittels des Kommandos xinit von der Kommandozeile aus) auf die erforderlichen Systemressourcen zugreifen zu können, besitzt Xsun unter Solaris für SPARC-Plattformen eine SetGID=root-Flagge und unter Solaris für x86-Plattformen eine SetUID=root-Flagge.

Beschreibung
Bei der Verarbeitung des Kommendozeilenparameters '-co' des Kommandos /usr/openwin/bin/Xsun kann ein Heap-Pufferüberlauf (heap buffer overflow) auftreten, der dazu ausgenutzt werden kann, unautorisiert unter Solaris für x86-Plattformen (Intel) root-Benutzerrechte, bzw. unter Solaris für SPARC-Plattformen root-Gruppenrechte und darüber mittelbar root-Benutzerrechte zu erhalten.

Gegenmaßnahmen
Patches sind derzeit noch nicht verfügbar

Workaround
Falls ein Start des X-Servers von der Kommandozeile aus nicht benötigt wird, kann die SetGID- bzw. die SetUID-Flagge problemlos entfernt werden.
Auf Standardinstallationen wird Xsun üblicherweise über graphische Login-Werkzeuge wie dtlogin oder xdm gestartet, die bereits über die Rechte zum Zugriff auf die erforderlichen Ressourcen verfügen und daher nicht auf eine Rechteerweiterung mittels einer SetGID- bzw. einer SetUID-Flagge angewiesen sind.

Mit folgender Kommandosequenz kann die SetGID- bzw. SetUID-Flagge entfernt werden:

$ su
Password:
# ls -lF /usr/openwin/bin/Xsun
-rwxr-sr-x   1 root     root      903512 Jul  8  1999 /usr/openwin/bin/Xsun*
# chmod -s /usr/openwin/bin/Xsun
# ls -lF /usr/openwin/bin/Xsun
-rwxr-xr-x   1 root     root      903512 Jul  8  1999 /usr/openwin/bin/Xsun*
# exit                                                                          
$
Diese Maßnahme versteht sich als Sofortmaßnahme.
Die Entfernung der SetGID- bzw. der SetUID-Flagge verhindert nicht, daß der beschriebene Pufferüberlauf weiterhin provoziert werden kann, eine unautorisierte Erlangung von Systemprivilegien ist in der beschriebenen Weise bei einem Neustart von Xsun jedoch nicht mehr möglich.

Vulnerability ID

Weitere Information zu diesem Thema

(og)

Weitere Artikel zu diesem Thema:

Hinweis
Die in diesem Text enthaltene Information wurde für die Mitglieder der Universität Stuttgart recherchiert und zusammengestellt. Die Universität Stuttgart übernimmt keinerlei Haftung für die Inhalte. Dieser Artikel darf ausschließlich in unveränderter Form und nur zusammen mit diesem Hinweis sowie dem folgenden Copyrightverweis veröffentlicht werden. Eine Veröffentlichung unter diesen Bedingungen an anderer Stelle ist ausdrücklich gestattet.

Copyright © 2017 RUS-CERT, Universität Stuttgart, https://cert.uni-stuttgart.de/


https://cert.uni-stuttgart.de/ticker/article.php?mid=777