Abo
  • Services:
Anzeige
Ein Fehler in der Glibc-Bibliothek überschreibt ein einzelnes Byte an der falschen Stelle.
Ein Fehler in der Glibc-Bibliothek überschreibt ein einzelnes Byte an der falschen Stelle. (Bild: Screenshot)

Glibc: Fehlerhaftes Null-Byte führt zu Root-Zugriff

Ein Fehler in der Glibc-Bibliothek überschreibt ein einzelnes Byte an der falschen Stelle.
Ein Fehler in der Glibc-Bibliothek überschreibt ein einzelnes Byte an der falschen Stelle. (Bild: Screenshot)

Mitgliedern von Googles Project Zero ist es gelungen, einen kleinen Fehler in der Glibc auszunutzen, um unter einem Linux-System Root-Zugriff zu erhalten. Dafür mussten zahlreiche Hürden überwunden werden.

Anzeige

Googles Project Zero hat einen Exploit entwickelt, mit dem man durch einen Fehler in der Glibc-Bibliothek unter manchen Linux-Systemen Root-Zugriff erhalten kann. Den Fehler hatte Google-Entwickler Tavis Ormandy bereits Mitte Juli öffentlich gemacht, doch bislang wurde er nicht behoben. Der Fehler schlummert wohl schon lange im Glibc-Code: Bereits 2005 wies ein Eintrag in der entsprechenden Mailingliste auf das Problem hin, damals erkannte aber offenbar niemand, dass es sich um ein Sicherheitsproblem handelt.

Bei dem Fehler in der Glibc handelt es sich um einen Buffer Overflow in der internen Funktion __gconv_translit_find(), der ein einziges Null-Byte außerhalb des zulässigen Speicherbereiches schreibt. Dem Problem wurde die ID CVE-2014-5119 zugewiesen. Zunächst hatte es Diskussionen darüber gegeben, ob sich das Problem tatsächlich ausnutzen lässt. Chris Evans und Tavis Ormandy von Googles Project Zero haben daraufhin versucht, genau das zu beweisen, was ihnen letztendlich auch gelungen ist.

Um den Bug auszunutzen, mussten die Entwickler eine ganze Reihe von Hürden überwinden. Moderne Betriebssysteme haben verschiedene Mechanismen, die das Ausnutzen von Buffer Overflows erschweren. Für den Exploit wurde die Fedora-Distribution in der 32-Bit-Version genutzt.

Der Exploit nutzt den Befehl pkexec, der Teil des Policykit-Pakets ist. Die Datei hat das Setuid-Root-Flag, was bedeutet, dass der Befehl immer mit Root-Rechten ausgeführt wird, auch wenn es von einem Nutzer aufgerufen wird. Gelingt es, bei einem solchen Programm eigenen Code auszuführen, kann man Root-Rechte erlangen.

Moderne Betriebssysteme nutzen praktisch alle ALSR (Adress Space Layout Randomization), um Daten im virtuellen Speicher an zufälligen Stellen zu platzieren. Dadurch wird das Entwickeln von funktionierenden Exploits deutlich erschwert. Mit Hilfe des Befehls ulimit lässt sich ein Großteil der Randomisierungen des Speichers umgehen. Anschließend ist nur noch der Stack-Speicher randomisiert, der Heap und die Bibliotheken sind an festen, dem Angreifer bekannten Stellen im Speicher. Dass ein Angreifer mittels ulimit die Randomisierung einer Setuid-Datei beeinflussen kann, ist laut den Google-Entwicklern ein generelles Problem, das behoben werden sollte.

Neben dem Fehler in der Glibc nutzt der Exploit weiterhin ein Memory Leak in pkexec, um den eigentlichen Exploit-Code im Arbeitsspeicher zu platzieren. Daraus schließen Ormandy und Evans, dass generell Speicherlecks in Programmen mit dem Setuid-Root-Flag überraschend gefährlich sind.

Letztlich wollten die Entwickler von Project Zero mit dieser Demonstration zeigen, dass selbst Bugs, die auf den ersten Blick harmlos erscheinen, sich mit viel Aufwand ausnutzen lassen. Diskussionen darüber, ob ein Fehler tatsächlich für einen Angreifer ausnutzbar ist, würden oft Zeit und Energie kosten, die man besser in das Beheben der Fehler stecken sollte. Der Exploit in seiner jetzigen Form funktioniert nur unter 32-Bit-Systemen und nutzt auch einige Besonderheiten von Fedora. Evans schreibt, dass es gut möglich sei, dass der Bug sich mit anderen Methoden auch unter 64-Bit-Systemen ausnutzen lasse.

Mit Project Zero versucht Google, generell die Sicherheit der IT-Infrastruktur zu verbessern. Google hat hierfür einige Sicherheitsspezialisten engagiert, die ausschließlich mit der Suche nach sicherheitskritischen Bugs in Softwareprodukten aller Art beschäftigt sind. Zuletzt wurden von Project Zero Sicherheitsprobleme im Flash-Browserplugin, in Safari und in Mac OS X entdeckt und veröffentlicht.


eye home zur Startseite
dschinn1001 01. Sep 2014

wo findet man eine Anleitung dafür, wie man ein Netzwerk aufbaut (ohne Schweizer...

mnementh 28. Aug 2014

Tja, in Closed-Source hast Du ähnliche Sicherheitslücken. Nur hörst Du dann meist nichts...

Endwickler 28. Aug 2014

Nun, ich stimme dir voll und ganz zu: Probleme müssen sofort beseitigt werden und jedes...

b1n0ry 27. Aug 2014

die Lücke nicht im Linux Kernel ist... Sonst hätte uns Herr Torvalds wieder was zum...

Linuxschaden 26. Aug 2014

Nein, das war er nicht, aber ich wollte die Geschichte nicht endlos werden lassen...



Anzeige

Stellenmarkt
  1. Zweckverband Kommunales Rechenzentrum Niederrhein (KRZN), Kamp-Lintfort
  2. Fresenius Medical Care Deutschland GmbH, Schweinfurt
  3. Hochschule Esslingen, Esslingen
  4. DIgSILENT GmbH, Gomaringen


Anzeige
Spiele-Angebote
  1. 25,99€
  2. ab 59,00€ (Vorbesteller-Preisgarantie)
  3. 7,63€ (ohne Prime bzw. unter 29€ Einkauf + 3€ Versand)

Folgen Sie uns
       


  1. Sicherheitslücke

    Caches von CDN-Netzwerken führen zu Datenleck

  2. Open Source

    Microsoft tritt Cloud Native Computing Foundation bei

  3. Q6

    LGs abgespecktes G6 kostet 350 Euro

  4. Google

    Youtube Red und Play Music fusionieren zu neuem Dienst

  5. Facebook Marketplace

    Facebooks Verkaufsplattform kommt nach Deutschland

  6. Ryzen 3 1300X und 1200 im Test

    Harte Gegner für Intels Core i3

  7. Profitbricks

    United Internet kauft Berliner Cloud-Anbieter

  8. Lipizzan

    Google findet neue Staatstrojaner-Familie für Android

  9. Wolfenstein 2 angespielt

    Stahlskelett und Erdbeermilch

  10. Streaming

    Facebooks TV-Shows sollen im August starten



Haben wir etwas übersehen?

E-Mail an news@golem.de


Anzeige
Creoqode 2048 im Test: Wir programmieren die größte portable Spielkonsole der Welt
Creoqode 2048 im Test
Wir programmieren die größte portable Spielkonsole der Welt
  1. Arduino 101 Intel stellt auch das letzte Bastler-Board ein
  2. 1Sheeld für Arduino angetestet Sensor-Platine hat keine Sensoren und liefert doch Daten
  3. Calliope Mini im Test Neuland lernt programmieren

Anker Powercore+ 26800 PD im Test: Die Powerbank für (fast) alles
Anker Powercore+ 26800 PD im Test
Die Powerbank für (fast) alles
  1. SW271 Benq bringt HDR-Display mit 10-Bit-Panel
  2. Toshiba Teures Thunderbolt-3-Dock mit VGA-Anschluss
  3. Asus Das Zenbook Flip S ist 10,9 mm flach

Microsoft Surface Pro im Test: Dieses Tablet kann lange
Microsoft Surface Pro im Test
Dieses Tablet kann lange
  1. Surface Diagnostic Toolkit Surface-Tool kommt in den Windows Store
  2. Microsoft Lautloses Surface Pro hält länger durch und bekommt LTE
  3. Microsoft Surface Laptop Vollwertiges Notebook mit eingeschränktem Windows

  1. Re: braucht man für diesen store...

    Rulf | 20:50

  2. Re: Der Illusionist

    oxybenzol | 20:49

  3. Re: Erster Eindruck..

    Some0NE | 20:44

  4. Re: Braucht man das?

    Rulf | 20:43

  5. Re: Welche GPU?

    ArcherV | 20:41


  1. 18:56

  2. 17:35

  3. 16:44

  4. 16:27

  5. 15:00

  6. 15:00

  7. 14:45

  8. 14:31


  1. Themen
  2. A
  3. B
  4. C
  5. D
  6. E
  7. F
  8. G
  9. H
  10. I
  11. J
  12. K
  13. L
  14. M
  15. N
  16. O
  17. P
  18. Q
  19. R
  20. S
  21. T
  22. U
  23. V
  24. W
  25. X
  26. Y
  27. Z
  28. #
 
    •  / 
    Zum Artikel