High
Security advisory
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.
- Products
- Not specified
- Affected versions
- Not specified
- Fixed versions
- Not specified
- CVEs
- CVE-2016-3959
- Confirmed fixed CVEs
- Not specified
- Updated in this feed
- 1 Nov 2026, 04:49 UTC · Revision 1
Source evidence
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.
osv:CVE-2016-3959
Complete source record
{
"id": "479c084dbdfbe5ca44bc218d97d22655911ea3ec168b1d083f9d9b5e3e85c569",
"url": "https://osv.dev/vulnerability/CVE-2016-3959",
"method": "structured",
"payload": {
"kind": "advisory",
"title": "CVE-2016-3959",
"summary": "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.",
"evidence": "osv:CVE-2016-3959",
"products": [],
"severity": "high",
"structured": {
"id": "CVE-2016-3959",
"aliases": [
"CVE-2016-3959",
"GO-2022-0166"
],
"metrics": [
{
"type": "CVSS_V3",
"score": "CVSS:3.0/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H"
}
],
"affected": [
{
"ranges": [
{
"repo": "https://github.com/golang/go",
"type": "GIT",
"events": [
{
"introduced": "0"
},
{
"last_affected": "bb03defe933c89fee44be675d7aa0fbd893ced30"
},
{
"introduced": "7bc40ffb05d8813bf9b41a331b45d37216f9e747"
},
{
"last_affected": "7bc40ffb05d8813bf9b41a331b45d37216f9e747"
}
],
"database_specific": {
"extracted_events": [
{
"cpe": "cpe:2.3:a:golang:go:*:*:*:*:*:*:*:*",
"range": [
{
"introduced": "0"
},
{
"last_affected": "1.5"
}
],
"source": "CPE_RANGE"
},
{
"cpe": "cpe:2.3:a:golang:go:1.6:*:*:*:*:*:*:*",
"range": [
{
"introduced": "1.6"
},
{
"last_affected": "1.6"
}
],
"source": "CPE_STRING"
}
]
}
}
],
"versions": [
"1.6",
"go1.6",
"go1.5",
"go1.5rc1",
"go1.5beta3",
"go1.5beta2",
"go1.5beta1",
"go1.4beta1",
"go1.3beta2",
"go1.3beta1",
"weekly.2012-03-27",
"weekly",
"weekly.2012-03-22",
"weekly.2012-03-13",
"weekly.2012-03-04",
"weekly.2012-02-22",
"weekly.2012-02-14",
"weekly.2012-02-07",
"weekly.2012-01-27",
"weekly.2012-01-20",
"weekly.2012-01-15",
"weekly.2011-12-22",
"weekly.2011-12-14",
"weekly.2011-12-06",
"weekly.2011-12-02",
"weekly.2011-12-01",
"weekly.2011-11-18",
"weekly.2011-11-09",
"weekly.2011-11-08",
"weekly.2011-11-02",
"weekly.2011-11-01",
"weekly.2011-10-26",
"weekly.2011-10-25",
"weekly.2011-10-18",
"weekly.2011-10-06",
"weekly.2011-09-21",
"weekly.2011-09-16",
"weekly.2011-08-17",
"weekly.2011-09-07",
"weekly.2011-09-01",
"weekly.2011-08-10",
"weekly.2011-07-07",
"weekly.2011-07-29",
"weekly.2011-07-19",
"weekly.2011-06-09",
"weekly.2011-06-23",
"weekly.2011-06-16",
"weekly.2011-06-02",
"weekly.2011-05-22",
"weekly.2011-04-27",
"weekly.2011-04-13",
"weekly.2011-04-04",
"weekly.2011-03-28",
"weekly.2011-03-15",
"weekly.2011-03-07.1",
"release.r56",
"weekly.2011-03-07",
"weekly.2011-02-24",
"weekly.2011-02-15",
"weekly.2011-02-01.1",
"weekly.2011-02-01",
"weekly.2011-01-20",
"weekly.2011-01-19",
"weekly.2011-01-12",
"weekly.2011-01-06",
"weekly.2010-12-22",
"weekly.2010-12-15.1",
"weekly.2010-12-15",
"weekly.2010-12-08",
"weekly.2010-12-02",
"weekly.2010-11-23",
"weekly.2010-11-10",
"weekly.2010-11-02",
"weekly.2010-10-27",
"weekly.2010-10-20",
"weekly.2010-10-13.1",
"weekly.2010-10-13",
"weekly.2010-09-29",
"weekly.2010-09-22",
"weekly.2010-09-15",
"weekly.2010-09-06",
"weekly.2010-08-25",
"weekly.2010-08-11",
"weekly.2010-08-04",
"weekly.2010-07-29",
"weekly.2010-07-14",
"weekly.2010-07-01",
"weekly.2010-06-21",
"weekly.2010-06-09",
"weekly.2010-05-27",
"weekly.2010-05-04",
"weekly.2010-04-27",
"weekly.2010-04-13",
"weekly.2010-03-30",
"weekly.2010-03-22",
"weekly.2010-03-15",
"weekly.2010-03-04",
"weekly.2010-02-23",
"weekly.2010-02-17",
"weekly.2010-02-04",
"weekly.2010-01-27",
"weekly.2010-01-13",
"weekly.2010-01-05",
"weekly.2009-12-22",
"weekly.2009-12-09",
"weekly.2009-12-07",
"weekly.2009-11-17",
"weekly.2009-11-12",
"weekly.2009-11-10.1",
"weekly.2009-11-10",
"weekly.2009-11-06"
],
"database_specific": {
"source": "https://storage.googleapis.com/cve-osv-conversion/osv-output/CVE-2016-3959.json"
}
}
],
"modified": "2026-10-24T10:30:22.630475726Z",
"provider": "osv",
"references": [
"https://go-review.googlesource.com/#/c/21533/",
"https://groups.google.com/forum/#%21topic/golang-announce/9eqIHqaWvck"
],
"provider_metadata": {
"unresolved_ranges": [
{
"cpes": [
"cpe:2.3:o:fedoraproject:fedora:22:*:*:*:*:*:*:*",
"cpe:2.3:o:fedoraproject:fedora:23:*:*:*:*:*:*:*",
"cpe:2.3:o:fedoraproject:fedora:24:*:*:*:*:*:*:*"
],
"vendor_product": "fedoraproject:fedora",
"extracted_events": [
{
"range": [
{
"introduced": "22"
},
{
"last_affected": "22"
},
{
"introduced": "23"
},
{
"last_affected": "23"
},
{
"introduced": "24"
},
{
"last_affected": "24"
}
],
"source": "CPE_STRING"
}
]
},
{
"cpes": [
"cpe:2.3:o:opensuse:leap:42.1:*:*:*:*:*:*:*"
],
"vendor_product": "opensuse:leap",
"extracted_events": [
{
"range": [
{
"introduced": "42.1"
},
{
"last_affected": "42.1"
}
],
"source": "CPE_STRING"
}
]
}
]
}
},
"related_cves": [
{
"value": "CVE-2016-3959",
"evidence": "/id"
}
],
"security_relevant": true,
"severity_evidence": "/severity/0/score"
},
"source_id": "core-osv",
"document_id": 430717,
"published_at": "2016-05-23T19:59:04.477+00:00"
}