httpoxy: Trivial ausnutzbare Lücke leitet Server-Traffic um

Durch ein wieder entdecktes Sicherheitsproblem kann ein Angreifer ausgehenden Datenverkehr eines Servers umleiten und mitlesen. Dazu muss er lediglich einen bestimmten HTTP-Header an den Server schicken.

In Pocket speichern vorlesen Druckansicht 133 Kommentare lesen
HTTPOXY
Lesezeit: 2 Min.
Von
  • Ronald Eikenberg

Eine auf den Namen httpoxy getaufte Schwachstelle erlaubt es Angreifern, den ausgehenden Traffic von Servern umzuleiten und mitzuschneiden.

Das Problem ist seit über fünfzehn Jahren bekannt, wurde bisher jedoch offensichtlich unterschätzt: Anders ist es kaum zu erklären, dass die Lücke nach wie vor in vielen Server-Konfigurationen klafft. Kern der Schwachselle ist die Umgebungsvariable HTTP_PROXY, aus der einige Anwendungen ihre Proxy-Konfiguration auslesen. Ein Angreifer kann diese Variable mit geringem Aufwand setzen und so bestimmten, ob und welchen Proxy die betroffenen Server-Anwendungen für ausgehenden Datenverkehr nutzen.

Ursache des Übels ist eine in RFC 3875 spezifizierte Funktion des Common Gateway Interface (CGI), durch das Skript-Interpreter wie PHP, Python und Go an Webserver angebunden werden können. Die Spezifikation besagt, dass Header als Umgebungsvariablen mit dem Präfix HTTP_ gespeichert werden.

Sendet ein Angreifer einen HTTP-Header "Proxy", wird eine Variable namens HTTP_PROXY mit dem Header-Wert angelegt. Der Wert könnte zum Beispiel die IP-Adresse eines Proxy-Servers sein. Wertet die Web-Anwendung diese Variable anschließend aus, versucht sie fortan, ausgehende Anfragen über den Proxy abzuwickeln. Das kann zum Beispiel die Kommunikation mit einer Web-API sein. Dabei können durchaus geheime Zugriffsschlüssel oder persönliche Daten von Nutzern durch die Leitung gehen.

Erstmals entdeckt wurde das Problem im März 2001, nämlich in der Perl-Bibliothek libwww-perl. Im Laufe der nächsten fünfzehn Jahre ist es auch noch in curl, Ruby, nginx und Apache aufgetaucht. Zumindest im Fall von curl und Ruby wurde es beseitigt.

Kürzlich wurde es von Mitarbeitern der Software-Entwicklungsfirma vend wiederentdeckt und tiefergehend analysiert. Dabei zeigte sich, dass sich die Schwachstelle aktuell mit PHP, Python und Go in bestimmten Software-Konstellationen ausnutzen lässt. Betroffen sind ausschließlich Server, bei denen der Skript-Interpreter über das CGI angesprochen wird.

Details zu den verwundbaren Software-Konstellationen haben die vend-Mitarbeiter auf httpoxy.org zusammengestellt. Dort findet man auch eine Reihe von Schutzmaßnahmen: etwa die Empfehlung, den Header "Proxy" so früh wie möglich zu blockieren oder den Einsatz von HTTPS für ausgehende Verbindungen Anfragen des Servers. (rei)