Every CVE Search/ Get API key

CVE-2016-3959

The Verify function in crypto/dsa/dsa.go in Go before 1.5.4 and 1.6.x before 1.6.1 does not...

7.5 HighPublic exploitFix available

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.

Attack profile

How easy it is to exploit

Attack vector
Network
Complexity
Low
Privileges needed
None
User interaction
None

What an attacker can affect

Confidentiality
None
Integrity
None
Availability
High

Exploit likelihood

4.36%Down 21.8 points since Feb 4, 2022
90%50%10%1%

What each source reports

NVD Score used 7.5

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.

Record
CVE-2016-3959
CVSS 3.0
7.5 HighCVSS:3.0/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H
CVSS 2.0
5.0 MediumAV:N/AC:L/Au:N/C:N/I:N/A:P
Weakness
CWE-20
Updated
2026-11-02
CVE List No score

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.

Record
CVE-2016-3959
Updated
2026-11-02
EUVDEUVD-2016-4968 No score

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.

Record
EUVD-2016-4968
Updated
2026-11-03
GitHub AdvisoriesGHSA-w7w7-9368-hffm 7.5

The Verify function in crypto/dsa/dsa.go in Go before 1.5.4 and 1.6.x before 1.6.1 does not...

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.

Record
GHSA-w7w7-9368-hffm
CVSS 3.0
7.5 HighCVSS:3.0/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H
Weakness
CWE-20
Updated
2026-11-02
OSVAZL-79052 7.5

CVE-2016-3959 affecting package golang 1.26.10-1

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.

Record
AZL-79052
CVSS 3.0
7.5 HighCVSS:3.0/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H
Updated
2026-11-05
OSVAZL-98631 7.5

CVE-2016-3959 affecting package golang 1.27.1-1

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.

Record
AZL-98631
CVSS 3.0
7.5 HighCVSS:3.0/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H
Updated
2026-11-02
Show 11 moreShow less
OSVBELL-CVE-2016-3959 7.5

CVE-2016-3959 does not affect BellSoft software

Record
BELL-CVE-2016-3959
CVSS 3.0
7.5 HighCVSS:3.0/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H
Updated
2026-11-02
OSV 7.5

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.

Record
CVE-2016-3959
CVSS 3.0
7.5 HighCVSS:3.0/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H
Updated
2026-11-02
OSVRHSA-2016:1538 5.3

Red Hat Security Advisory: golang security, bug fix, and enhancement update

Record
RHSA-2016:1538
CVSS 3.0
5.3 MediumCVSS:3.0/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:L
Updated
2026-11-02
OSVUBUNTU-CVE-2016-3959 7.5

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.

Record
UBUNTU-CVE-2016-3959
CVSS 3.0
7.5 HighCVSS:3.0/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H
Updated
2026-11-02
OSVGO-2022-0166 No score

Denial of service due to unchecked parameters in crypto/dsa

The Verify function in crypto/dsa passed certain parameters unchecked to the underlying big integer library, possibly leading to extremely long-running computations, which in turn makes Go programs vulnerable to remote denial of service attacks. Programs using HTTPS client certificates or the Go SSH server libraries are both exposed to this vulnerability.

Record
GO-2022-0166
Updated
2026-11-02
OSVMGASA-2016-0207 No score

Updated golang package fixes CVE-2016-3959

Updated golang packages fix security vulnerability:

Go has an infinite loop in several big integer routines that makes Go programs vulnerable to remote denial of service attacks. Programs using HTTPS client authentication or the Go ssh server libraries are both exposed to this vulnerability (CVE-2016-3959).

Record
MGASA-2016-0207
Updated
2026-11-02
OSVopenSUSE-SU-2024:10028-1 No score

go-1.7.0-2.1 on GA media

These are all security issues fixed in the go-1.7.0-2.1 package on the GA media of openSUSE Tumbleweed.

Record
openSUSE-SU-2024:10028-1
Updated
2026-11-02
OSVopenSUSE-SU-2024:10803-1 No score

go1.10-1.10.8-8.2 on GA media

These are all security issues fixed in the go1.10-1.10.8-8.2 package on the GA media of openSUSE Tumbleweed.

Record
openSUSE-SU-2024:10803-1
Updated
2026-11-02
OSVopenSUSE-SU-2024:10804-1 No score

go1.11-1.11.13-10.5 on GA media

These are all security issues fixed in the go1.11-1.11.13-10.5 package on the GA media of openSUSE Tumbleweed.

Record
openSUSE-SU-2024:10804-1
Updated
2026-11-02
OSVopenSUSE-SU-2024:10805-1 No score

go1.12-1.12.17-4.8 on GA media

These are all security issues fixed in the go1.12-1.12.17-4.8 package on the GA media of openSUSE Tumbleweed.

Record
openSUSE-SU-2024:10805-1
Updated
2026-11-02
OSVopenSUSE-SU-2024:10812-1 No score

go1.9-1.9.7-11.2 on GA media

These are all security issues fixed in the go1.9-1.9.7-11.2 package on the GA media of openSUSE Tumbleweed.

Record
openSUSE-SU-2024:10812-1
Updated
2026-11-02

Affected products

Affected packages

Affected packages
PackageAffectedFixed
golang
Azure Linux:3
through 1.26.10-1 None known
golang
Azure Linux:3
1.27.0 to 1.27.1-1 None known
stdlib
Go
before 1.5.4, 1.6.0-0 up to 1.6.1
1.5.41.6.1
golang
Mageia:5
before 1.6.2-7.mga5
1.6.2-7.mga5
golang
Red Hat:enterprise_linux:7::server
before 0:1.6.3-1.el7_2.1
0:1.6.3-1.el7_2.1
golang-bin
Red Hat:enterprise_linux:7::server
before 0:1.6.3-1.el7_2.1
0:1.6.3-1.el7_2.1
golang-docs
Red Hat:enterprise_linux:7::server
before 0:1.6.3-1.el7_2.1
0:1.6.3-1.el7_2.1
golang-misc
Red Hat:enterprise_linux:7::server
before 0:1.6.3-1.el7_2.1
0:1.6.3-1.el7_2.1
golang-src
Red Hat:enterprise_linux:7::server
before 0:1.6.3-1.el7_2.1
0:1.6.3-1.el7_2.1
golang-tests
Red Hat:enterprise_linux:7::server
before 0:1.6.3-1.el7_2.1
0:1.6.3-1.el7_2.1
Show 5 moreShow less
Affected packages
PackageAffectedFixed
go
openSUSE:Tumbleweed
before 1.7.0-2.1
1.7.0-2.1
go1.10
openSUSE:Tumbleweed
before 1.10.8-8.2
1.10.8-8.2
go1.11
openSUSE:Tumbleweed
before 1.11.13-10.5
1.11.13-10.5
go1.12
openSUSE:Tumbleweed
before 1.12.17-4.8
1.12.17-4.8
go1.9
openSUSE:Tumbleweed
before 1.9.7-11.2
1.9.7-11.2

Public exploits

Links only. Every CVE stores no exploit code.

Public exploits
SourceLinkDate
PoC in GitHubalexmullins/dsa2016-04-10

History

History
RecordedChangedSources
factsOSV
affected
aliasesEUVD
first indexedCVE List, GitHub Advisories, NVD, OSV, PoC in GitHub

Dates are when Every CVE recorded each change. Upstream dates may differ.

In short

CVE-2016-3959 is a high vulnerability (CVSS 7.5) in Golang Go, published May 23, 2016. Public exploit code exists. EPSS puts the chance of exploitation in the next 30 days at 4.36%, the 91st percentile. Fixed in stdlib 1.5.4.

References

Show 55 moreShow less
MoveEnter Open