Erstmalig fiel die Schwachstelle, deren Name keine spezielle Bedeutung hat, im März 2001 auf. Der Programmierer Randal L. Schwartz hatte HTTPoxy in der Perl-Bibliothek libwww-perl entdeckt und dies Gisle Aas mitgeteilt, dem Entwickler der Bibliothek. Dieser schloss die Sicherheitslücke umgehend im Update 5.51, indem er den Variablennamen, über den die Proxy-Konfiguration gesteuert werden kann, in CGI_HTTP_PROXY abänderte. Im gleichen Jahr machte man die Schwachstelle auch im Datentransferprogramm cURL aus, woraufhin der Entwickler Daniel Stenberg die Software dahingehend anpasste, dass diese fortan nur noch die kleingeschriebene Variante http_proxy zur Bestimmung des Proxy-Servers hinzuzog – unter dem gleichzeitigen Hinweis, dass dies für Microsoft-Systeme im Grunde genommen nicht ausreichend ist. In aktuellen Windows-Versionen soll das Problem jedoch nicht mehr bestehen.
Rund ein Jahrzehnt später stieß das Ruby-Team im Juli 2012 bei der Implementierung der Klasse NET::HTTP, einer HTTP-Client-API für Ruby-Anwendungen, auf die längst vergessene HTTPoxy-Problematik. Um das Problem zu umgehen, nahm man HTTP_PROXY unter anderem den Status als Standardvariable. In den folgenden Jahren gesellten sich unter anderem auch die Webserver-Anwendungen NGINX (2013) und Apache (2015) zu den prominenten Fällen, bei denen aufmerksame User die Entwickler über eine potenzielle Gefahrenlage in Kenntnis setzten.
2016 stellte das Sicherheitsteam der Entwicklerfirma Vend schließlich fest, dass die HTTPoxy-Sicherheitslücke auch 15 Jahre nach der ersten Entdeckung noch in PHP und diversen anderen Programmiersprachen sowie Bibliotheken ausnutzbar ist – sofern diese in Kombination mit CGI bzw. einer vergleichbaren Laufzeitumgebung mit konfigurierbaren Variablen zum Einsatz kommt. Viele betroffene Anwendungen, die die Ausnutzung von HTTPoxy ermöglichen, wurde in den offiziellen Spezifikationen für Sicherheitslücken, den sogenannten CVEs (Common Vulnerabilities and Exposures), aufgelistet:
- CVE-2016-5385: PHP
- CVE-2016-5386: Go CVE-2016-5387: Apache HTTP Server
- CVE-2016-5388: Apache Tomcat
- CVE-2016-6286: spiffy-cgi-handlers for CHICKEN
- CVE-2016-6287: CHICKEN’s http-client
- CVE-2016-1000104: mod_fcgi
- CVE-2016-1000105: Nginx cgi script
- CVE-2016-1000107: Erlang inets
- CVE-2016-1000108: YAWS
- CVE-2016-1000109: HHVM FastCGI
- CVE-2016-1000110: Python CGIHandler
- CVE-2016-1000111: Python Twisted
- CVE-2016-1000212: lighttpd