Inconsistent interpretation of HTTP requests in Go programming language - CVE-2015-5740

 

Inconsistent interpretation of HTTP requests in Go programming language - CVE-2015-5740

Published: October 15, 2019


Vulnerability identifier: #VU21784
CSH Severity: Medium
CVSS v4: 8.7 [CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:N/VC:N/VI:H/VA:N/SC:N/SI:N/SA:N]
CVE-ID: CVE-2015-5740
CWE-ID: CWE-444
Exploitation vector: Remote access
Exploit availability: No public exploit available

Vulnerability details

The vulnerability allows a remote attacker to conduct an HTTP request smuggling attack on the target system.

The vulnerability exists due to the "net/http" library in "net/http/transfer.go" does not properly parse HTTP headers. A remote attacker can send a specially crafted HTTP request and conduct HTTP request smuggling attacks via a request with two Content-length headers.

Affected software

Go programming language
Amazon Linux AMI
Fedora
Red Hat Enterprise Linux Server
Red Hat Enterprise Linux Server - TUS
Red Hat Enterprise Linux Server - AUS
Red Hat Enterprise Linux Server - Extended Update Support
go (Alpine package)
golang
golang (Red Hat package)

How to mitigate CVE-2015-5740

Install updates from vendor's website.

Go programming language - update to 1.4.3
go (Alpine package) - update to 1.4.2-r1
golang - addressed in versions 1.4.2-3.el6, 1.4.2-3.fc21, 1.4.2-3.fc22, 1.5.1-0.el6, 1.5.1-0.fc21, 1.5.1-0.fc22, 1.5-6.el6, 1.5-6.fc21, 1.5-6.fc22, 1.5-8.fc22
golang (Red Hat package) - update to 1.6.3-1.el7_2.1

External References

Related Security Bulletins