Input validation error in Go programming language - CVE-2016-3959

 

Input validation error in Go programming language - CVE-2016-3959

Published: May 23, 2016 / Updated: July 28, 2020


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

Vulnerability details

The vulnerability allows a remote non-authenticated attacker to perform a denial of service (DoS) attack.

The Verify function in crypto/dsa/dsa.go in Go before 1.5.4 and 1.6.x before 1.6.1 does not properly check parameters passed to the big integer library, which might allow remote attackers to cause a denial of service (infinite loop) via a crafted public key to a program that uses HTTPS client certificates or SSH server libraries.


Affected software

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

How to mitigate CVE-2016-3959

Install update from vendor's website.

Go programming language - update to 1.5.4
go (Alpine package) - update to 1.5.4-r0
golang - addressed in versions 1.5.4-1.fc22, 1.5.4-1.fc23, 1.6.1-1.fc24
golang (Red Hat package) - update to 1.6.3-1.el7_2.1

External References

Related Security Bulletins