SicherheitslĂĽcke in BSD-Systemen

Durch den Fehler einer unter FreeBSD, NetBSD, und OpenBSD verwendeten Speicherfunktion können lokale, nicht-privilegierte Anwender ihre Zugriffsrechte ausbauen.

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

Der Sicherheitsdienstleister PINE hat eine Sicherheitslücke der unter FreeBSD, NetBSD, und OpenBSD verwendeten Speicherfunktion shmat() gemeldet, mit der lokale, nicht-privilegierte Anwender ihre Zugriffsrechte ausbauen können. Eine Schwachstelle in der Speicherverwaltung unter Linux (do_mremap) hatte bereits Anfang Januar die Distributoren zur Veröffentlichung aktualisierter Pakete gezwungen.

Schuld an der nun gefundenen Lücke ist ein Integer Overflow in der Funktion shmat() (attach shared memory) im Modul sysv_shm.c. Shmat() mapped ein Shared- Memory-Segment in den Adressraum des aufrufenden Prozesses. Der Overflow lässt sich von einem Angreifer beim Aufruf der Funktion mit manipulierten Adressen provozieren. Anschließend ist er laut Advisory in der Lage, mit eigenen Programmen auf fälschlicherweise freigegebene Speicherbereiche zuzugreifen und beliebigen Code auf den Stack zu schreiben und auszuführen.

Betroffen sind FreeBSD ab 2.2.0, NetBSD ab 1.3 und OpenBSD ab 2.6. Das FreeBSD-Team hat bereits ein eigenes Advisory veröffentlicht. Als Workaround empfiehlt das Team, die Unterstützung für Shared Memory abzuschalten. Allerdings funktionieren dann einige Applikationen, etwa X-Windows, nicht mehr. Alternativ können Anwender auf neue fehlerbereinigte FreeBSD-Versionen wechseln oder den Patch einspielen und den Kernel neu kompilieren. OpenBSD und NetBSD haben bislang noch keine eigenen Advisories veröffentlicht. OpenBSD weist aber in seiner Errata-Liste auf den Fehler und einen Fix hin.

Siehe dazu auch: (dab)