Open Source im professionellen Einsatz

Grep: Integer-Overflow-Exploit

Grep ist ein Kommandozeilenprogramm zum Durchsuchen von Texten nach Mustern. Eine kürzlich gefundene Sicherheitslücke hat zur Folge, dass ein Angreifer Befehle mit den Rechten des Anwenders ausführen kann.

Das Problem tritt auf, wenn Grep auf Zeilen mit mehr als 2^31 Bytes losgelassen wird. Dies führt im einfachsten Fall zu einem Segmentation Fault. Ein Angreifer kann dies aber auch ausnutzen, um Befehle auszuführen. Der Segmentation Fault lässt sich sehr einfach mit Hilfe der folgenden Befehlszeile reproduzieren:

perl -e 'print "x"x(2**31)' | grep x > /dev/null

Sie verwendet Perl, um 2^31 Mal ein Zeichen auszugeben, womit eine entsprechend lange Zeile als Eingabe für Grep entsteht. An einem funktionieren Proof-of-Concept-Exploit ist derzeit in Arbeit.

Betroffen ist die Version 2.10.

comments powered by Disqus

Stellenmarkt

Artikelserien und interessante Workshops aus dem Magazin können Sie hier als Bundle erwerben.