Original-URL des Artikels: https://www.golem.de/news/stack-clash-aufgepumpter-stack-kann-codeausfuehrung-verursachen-1706-128511.html    Veröffentlicht: 21.06.2017 18:36    Kurz-URL: https://glm.io/128511

Stack Clash

Aufgepumpter Stack kann Codeausführung verursachen

Sieben Exploits für Fehler im Stack-Management: Qualys hat eine Sicherheitslücke für Linux veröffentlicht, mit der lokale Angreifer erweiterte Rechte bekommen können. Die Stack-Guards-Funktion schützt nicht vor dem Angriff.

Die Sicherheitsfirma Qualys hat eine Sicherheitslücke mit dem Namen Stack Clash in Unix-Systemen veröffentlicht. Dabei kann ein großer Stack-Speicher eines Programms mit dem Heapspeicher kollidieren, Angreifer könnten damit Code ausführen und so ihre eigenen Rechte auf einem System erhöhen (privilege escalation). Der Angriff kann nicht aus der Ferne durchgeführt werden.

Qualys hat sieben verschieden Exploits entwickelt, um die Sicherheitslücken auszunutzen. Die Informationen wurden im Vorfeld mit den Herstellern großer betroffener Distributionen und Systeme geteilt, Patches werden in den Linux-Kernel eingepflegt und sollten demnächst ausgespielt werden. Die großen Distributionen haben bereits Security-Advisories veröffentlicht. Betroffen sind neben Linux-Systemen auch OpenBSD, NetBSD, FreeBSD und Solaris, sowohl auf i386 als auch auf AMD64-Systemen. Die Exploits will Qualys erst veröffentlichen, wenn Nutzer genügend Zeit hatten, um Updates zu installieren.

Stack Guard schützt nicht ausreichend

Probleme mit Stack Clashes sind nichts Neues. Bereits in den Jahren 2005 und 2010 wurden entsprechende Exploits bekannt. Nach dem vorerst letzten Vorfall wurde mit dem Stack Guard ein Schutzmechanismus eingeführt, der eine Verwechselung von Stack und Heapspeicher verhindern soll. Bei einem Angriff wird der Stack so lange künstlich vergrößert, bis er nah an den Heapspeicher heranragt.

Doch ein solcher Stack Guard mit einer Größe von wenigen Kilobyte ist nach Angabe von Qualys nicht ausreichend, um Angriffe abzuwehren. Wer noch keinen Patch einspielen kann, kann die Variablen für RLIMIT_STACK und RLIMIT_AS für Lokale Nutzer und Remoter-Dienste auf "vernünftig niedrige Werte" heruntersetzen, wie Qualys schreibt. Zu niedrige Werte können jedoch zum Absturz legitimer Programme führen, die Parameter sollten daher mit Bedacht gewählt werden.

Qualys beschreibt drei konkrete Angriffsszenarien: Beim Clashing wächst der Stack unkontrolliert in die angrenzende Speicherregion heran, beim Jumping wird der Pointer vom Stack-Speicher über den Guard hinweg in eine andere Speicherregion verschoben. Beim Smashing hingegen wird entweder der Stack oder der Heap mit der jeweils anderen Speicherregion überschrieben.  (hg)


Verwandte Artikel:
Librem 5: Purism-Smartphone bekommt Smartcard für Verschlüsselung   
(09.03.2018, https://glm.io/133248 )
Fluggastdaten: Regierung dementiert Hackerangriff auf deutsches PNR-System   
(10.03.2018, https://glm.io/133261 )
Schlaue LED-Lampe: Alba von Stack funktioniert unabhängig   
(24.09.2014, https://glm.io/109415 )
Dell: Neuer Börsengang, neues Glück?   
(26.01.2018, https://glm.io/132411 )
Starcraft Remastered: Warum Blizzard einen Buffer Overflow emuliert   
(06.02.2018, https://glm.io/132612 )

© 1997–2020 Golem.de, https://www.golem.de/