Root-Rechte über Lücken im Loader von Solaris

Sun schließt mit einem Update zwei Lücken, die sich eigentlich nur in Kombination miteinander ausnutzen lassen.

vorlesen Druckansicht 61 Kommentare lesen
Lesezeit: 1 Min.
Von
  • Daniel Bachfeld

Sun will mit einem Update zwei vom Sicherheitsdienstleister iDefense aufgedeckte Lücken schließen. Beide finden sich im dynamischen Linker/Loader ld.so und lassen sich eigentlich nur in Kombination miteinander missbrauchen. So nutzt ld.so unter anderem die Umgebungsvariable $LANG, um die zur Sprache passenden Fehlermeldungen auszugeben. Da $LANG aber vom Nutzer vorgegeben werden kann, ist es etwa durch Directory Travering möglich, den Aufruf auf eigene Dateien umzubiegen. Dazu genügt es, dass der Anwender $LANG etwa auf ../../../../../home/user setzt.

So lassen sich beliebige Format-Strings laut iDefense an verwundbare Print- und Formatierungfunktionen in ld.so übergeben. Hier kommt die zweite Lücke in ld.so ins Spiel: ein Buffer Overflow in der Formatierungsfunktion doprf, über die sich Code auf den Stack schreiben und mit den Rechten von ld.so, also Root-Rechten, ausführen lässt. Interessanterweise tritt der Fehler nur bei nicht privilegierten Anwendern auf, ist der Anwender Root, wird diese Funktion nicht benutzt. Betroffen sind laut Sun Solaris 8, 9 und 10 auf SPARC und x86.

Siehe dazu auch:

(dab)