CVE-2016-5386
Go: sets environmental variable based on user supplied Proxy request header
Severity
ModerateRed Hat Product Security
CVSS 3.0
Review impact separately from score.
Published · July 18, 2016
Updated · November 21, 2025
Description
An input-validation flaw was discovered in the Go programming language built in CGI implementation, which set the environment variable "HTTP_PROXY" using the incoming "Proxy" HTTP-request header. The environment variable "HTTP_PROXY" is used by numerous web clients, including Go's net/http package, to specify a proxy server to use for HTTP and, in some cases, HTTPS requests. This meant that when a CGI-based web application ran, an attacker could specify a proxy server which the application then used for subsequent outgoing requests, allowing a man-in-the-middle attack.
CVSS score applicability
The CVSS score(s) listed for this vulnerability do not reflect the associated product's status, and are included for informational purposes to better understand the severity of this vulnerability.
Mitigation
No mitigation is specified in collected source.
CVSS / CWE
CVSS 3.0 · 5CVSS:3.0/AV:N/AC:L/PR:L/UI:N/S:C/C:N/I:L/A:N
CVSS 2.0 · 5AV:N/AC:L/Au:N/C:N/I:P/A:N
CWE-20 · Improper Input Validation