Inconsistent interpretation of HTTP requests in Go programming language - CVE-2019-16276

 

Inconsistent interpretation of HTTP requests in Go programming language - CVE-2019-16276

Published: September 29, 2019


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

Vulnerability details

The vulnerability allows a remote attacker to perform HTTP request smuggling attack.

The vulnerability exists due to Go programming language accepts and normalizes HTTP requests with malformed HTTP/1.1 headers containing a space before the colon. A remote attacker can use a malformed request to bypass configured filtration and gain access to presumably restricted functionality.


Affected software

Go programming language
Amazon Linux AMI
Fedora
Red Hat Enterprise Linux for IBM z Systems
Red Hat Enterprise Linux for x86_64
Opensuse
Red Hat Developer Tools
Sensor Proxy
golang-1.11 (Debian package)
go (Alpine package)
golang
Red Hat OpenShift Container Platform

How to mitigate CVE-2019-16276

Install updates from vendor's website.

Go programming language - addressed in versions 1.12.10, 1.13.1
Sensor Proxy - update to 1.0.12
golang-1.11 (Debian package) - update to 1.11.6-1+deb10u2
go (Alpine package) - update to 1.13.1-r0
Red Hat OpenShift Container Platform - update to 4.2.21
golang - addressed in versions 1.11.13-2.fc29, 1.12.10-1.fc30, 1.13.1-1.el6, 1.13.1-1.el7, 1.13.1-1.fc31

External References

Related Security Bulletins