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.

In Pocket speichern 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)