[Generic/Sun RPC] Schwachstelle in den Sun RPC XDR library routines
(2003-03-21 16:08:01.065344+00)
Quelle:
http://www.cert.org/advisories/CA-2003-10.html
Die Funktion xdrmem_getbytes()
, die in der XDR libray von Sun Microsystems enthalten ist, besitzt eine Schwachstelle, die dazu ausgenutzt werden kann, beliebigen Programmcode auf dem beherbergenden Rechnersystem mit root
-Rechten auszuführen. Diese Funktion wird in einer Reihe von RPC-Applikationen verschiedener Hersteller benutzt.
Betroffene Systeme
- Systeme, die die GNU libc bis inkl. Version 2.3.1 einsetzen
- AIX 4.3.3, 5.1.0 and 5.2.0
- FreeBSD
- HP-UX HP-UX 10.20, 11.00, 11.04, 11.11 und 11.22
- MIT Kerberos 5
- Sun Solaris 2.6, 7, 8 und 9
Möglicherweise betroffene Systeme
- Cray UNICOS
- Fujitsu UXP/V O.S
- SGI IRIX
Nicht betroffene Systeme
- Apple Mac OS X und Mac OS X Server
- NEC [Server Products] * EWS/UP 48 Series operating system
- NetBSD aktuelle Versionen
- Systeme, die mit entsprechenden Vendor-Patches zur Behebung der Schwachstelle versehen sind, die aber i.d.R. nicht die Versionsnummer ändern.
Einfallstor
TCP-Verbindungen und UDP-Pakete, über die RPC-Requests übertragen werden
Auswirkung
Ausführung beliebigen Programmcodes mit den Privilegien des betroffenen RPC-Dienstes, üblicherweise root
-Privilegien, und dadurch Kompromittierung des beherbergenden Rechnersystems.
(remote root compromise)
Typ der Verwundbarkeit
integer overflow bug und dadurch mittelbar buffer overflow bug
Gefahrenpotential
sehr hoch
(Hinweise zur Einstufung des Gefahrenpotentials.)
Kontext
RPC (Remote Procedure Call) wird vor allem zur Kommunikation von Prozessen auf verteilt arbeitenden Systemen benutzt, es wird jedoch auch zur Interprozeßkommunikation auf ein und demselben Rechner verwendet. Bei Solaris-Betriebssystemen beispielsweise sind diese Dienste normalerweise alle aktiviert. Um portabel zwischen verschiedenen Plattformen Nachrichten über RPC austauschen zu können, werden diese mit Hilfe von XDR (External Data Representation) einheitlich verpackt.
Beschreibung
Die Funktion xdrmem_getbytes()
, die in der XDR libray von Sun Microsystems enthalten ist, besitzt eine Schwachstelle, die dazu ausgenutzt werden kann, beliebigen Programmcode auf dem beherbergenden Rechersystem auszuführen. Die Funktion ist in einer Bibliothek von Sun Micorsystems enthalten, die von vielen Softwareherstellern für ihre RPC-Dienste verwendet wird. Üblicherweise laufen RPC-Dienste unter der UID=0 (root)
, so daß - je nach Implementierung - ein Angreifer über eine Netzwerkverbindung diese Schwachstelle zur Kompromittierung des beherbergenden Rechnersystems ausnutzen kann.
Workaround
- Deaktivieren der RPC-Dienste (inklusive NFS). Das beeinträchtigt unter Umständen die Funktionalität des Systems erheblich.
Gegenmaßnahmen
Installation von Patches oder neuer, nicht verwundbarer Versionen betroffener Software. Folgende Hersteller stellen Patches zur Verfügung:
- Caldera: CSSA-2003-013.0Caldera
- FreeBSD
- Hewlett-Packard
- RedHat:
Generelle Empfehlung
- Deaktivierung aller nicht benötigten Dienste.
Viele Systeme aktivieren schon bei der Installation Dienste, die nur für spezielle Anwendungen benötigt werden und daher unnötig Einfallstore für Angriffe bieten, sofern diese speziellen Anwendungen nicht genutzt werden.Auf den meisten UNIX-Systemen gibt es zwei Mechanismen, um Dienste zu starten:
/etc/init.d/
Startet und stoppt Dienste fuer jeden Run- oder Initlevel als daemon. Die Mimik kann variieren. Details zur Konfiguration bzw. Hinweise zu weiterfürender Dokumentation sind üblicherwiese in der Datei/etc/init.d/README
zu finden.inetd(8)
Der "Internet Super-Server" startet einzelne Dienste nach Bedarf. In seiner Konfigurationsdatei/etc/inetd.conf
werden die zu startenden Dienste konfiguriert. Weitergehende Information ist in der Manpage voninetd(8)
zu finden.
Vulnerability ID
Weitere Information zu diesem Thema
Weitere Artikel zu diesem Thema:
- [Generic/Sun RPC] Pufferüberlaufschwachstelle in den RPC-Routinen (2002-08-01)
Durch einen Fehler in der Funktionxdr_array
in den RPC-Routinen kann es zu einem Pufferüberlauf kommen, der über das Netzwerk zur Erlangung vonroot
-Rechten benutzt werden kann.
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 © 2022 RUS-CERT, Universität Stuttgart, https://cert.uni-stuttgart.de/
https://cert.uni-stuttgart.de/ticker/article.php?mid=1089