Open Source im professionellen Einsatz

OpenVPN: Buffer-Overflow-Attacke

 Eine Sicherheitslücke in OpenVPN hat zur Folge, dass ein entfernter Angreifer Befehle mit höheren Rechten auf betroffenen Systemen ausführen kann. Der Angreifer kann die Schwachstelle durch das Senden bestimmter Netzwerkdaten an den OpenVPN-Dienst ausnutzen. Dabei kommt es im Programmcode zu einem Stack-Buffer-Overflow-Fehler.

Der Programmierfehler befindet sich in der »read_key()«-Funktion in der »crypto.c«-Datei. In dieser Funktion wird eigentlich eine Kontrolle der Benutzereingaben durchgeführt, um solche Overflows zu verhindern. Allerdings geschieht dies im Code zu spät, so dass zu diesem Zeitpunkt die Benutzerdaten schon weiterverarbeitet wurden. Dadurch kann es dann trotzdem zu dem Overflow kommen. Dies tritt allerdings nur dann auf, wenn »key-method 1« verwendet wird.

Der nun veröffentlichte Patch besteht einfach darin die Eingabekontrolle

if (cipher_length != kt->cipher_length || hmac_length != kt->hmac_length) {
goto key_len_err;
}

im Programmablauf nach vorne zu verschieben, so dass die kritischen Benutzerdaten frühzeitig abgefangen werden.

Betroffen sind die Versionen bis 2.3.17/2.4.3.

comments powered by Disqus

Ausgabe 11/2017

Digitale Ausgabe: Preis € 6,40
(inkl. 19% MwSt.)

Stellenmarkt

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