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 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.
02 / AFFECTED SOFTWARE
Affected packages
111 explicit affected versions
03 / CONNECTIONS
Connected vulnerabilities
04 / EVIDENCE
Source records
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.
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.
05 / REFERENCES
Further evidence
- http://lists.fedoraproject.org/pipermail/package-announce/2016-April/182526.html
- http://lists.fedoraproject.org/pipermail/package-announce/2016-April/183106.html
- http://lists.fedoraproject.org/pipermail/package-announce/2016-April/183137.html
- http://lists.opensuse.org/opensuse-updates/2016-05/msg00077.html
- http://rhn.redhat.com/errata/RHSA-2016-1538.html
- http://www.openwall.com/lists/oss-security/2016/04/05/1
- http://www.openwall.com/lists/oss-security/2016/04/05/2
- https://go-review.googlesource.com/#/c/21533/
- https://groups.google.com/forum/#%21topic/golang-announce/9eqIHqaWvck
- https://go.dev/cl/21533
- https://go.dev/issue/15184
- https://go.googlesource.com/go/+/eb876dd83cb8413335d64e50aae5d38337d1ebb4
- https://groups.google.com/g/golang-announce/c/9eqIHqaWvck