CVE-2015-5739: XSS
Go is vulnerable to HTTP request smuggling, caused by a flaw in net/http library in net/textproto/reader.go. By sending a specially-crafted HTTP request with a space instead of a hyphen, an attacker could exploit this vulnerability to poison the web cache, bypass web application firewall protection, and conduct XSS attacks.
Other sources
The net/http library in net/textproto/reader.go in Go before 1.4.3 does not properly parse HTTP header keys, which allows remote attackers to conduct HTTP request smuggling attacks via a space instead of a hyphen, as demonstrated by "Content Length" instead of "Content-Length."
— MITRE
There have been found potentially exploitable flaws in Golang net/http library affecting versions 1.4.2 and 1.5.
Problems: Double Content-length headers in a request does not generate a 400 error, the second Content-length is ignored. Invalid headers are parsed as valid headers (like "Content Length:" with a space in the middle)
Exploitations: In a situation where the net/http agent HTTP communication with the final http clients is using some reverse proxy (reverse proxy cache, SSL terminators, etc), some requests can be made exploiting the net/http HTTP protocol violations.
Attacker could possibly: bypass security controls on theses previous elements perform some cache poisoning on these elements alter the request/response map on these previous elements (for DOS)
CVE request: http://seclists.org/oss-sec/2015/q3/237
Upstream patches: https://github.com/golang/go/commit/117ddcb83d7f42d6aa72241240af99ded81118e9 https://github.com/golang/go/commit/300d9a21583e7cf0149a778a0611e76ff7c6680f https://github.com/golang/go/commit/143822585e32449860e624cace9d2e521deee62e
— Red Hat
Affected Software
Remediation
Patch Available
Event History
Frequently Asked Questions
What is the severity of CVE-2015-5739?
CVE-2015-5739 is considered moderate in severity due to its potential to allow HTTP request smuggling.
How do I fix CVE-2015-5739?
To fix CVE-2015-5739, upgrade the Go programming language to version 1.5 or later.
Which versions of Go are affected by CVE-2015-5739?
CVE-2015-5739 affects Go versions up to and including 1.4.2.
What types of attacks are possible due to CVE-2015-5739?
CVE-2015-5739 allows attackers to perform HTTP request smuggling, cache poisoning, and bypass web application firewall protections.
Which operating systems are impacted by CVE-2015-5739?
CVE-2015-5739 affects various versions of Red Hat Enterprise Linux and Fedora.