CVE-2020-14039
In Go before 1.13.13 and 1.14.x before 1.14.5, Certificate.Verify may lack a check on the...
In Go before 1.13.13 and 1.14.x before 1.14.5, Certificate.Verify may lack a check on the VerifyOptions.KeyUsages EKU requirements (if VerifyOptions.Roots equals nil and the installation is on Windows). Thus, X.509 certificate verification is incomplete.
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
- Low
- Availability
- None
Exploit likelihood
What each source reports
NVD Score used
5.3
In Go before 1.13.13 and 1.14.x before 1.14.5, Certificate.Verify may lack a check on the VerifyOptions.KeyUsages EKU requirements (if VerifyOptions.Roots equals nil and the installation is on Windows). Thus, X.509 certificate verification is incomplete.
- Record
CVE-2020-14039- CVSS 3.1
- 5.3 Medium
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:L/A:N - CVSS 2.0
- 5.0 Medium
AV:N/AC:L/Au:N/C:N/I:P/A:N - Weakness
- CWE-295
- Updated
- 2026-11-02
CVE List No score
In Go before 1.13.13 and 1.14.x before 1.14.5, Certificate.Verify may lack a check on the VerifyOptions.KeyUsages EKU requirements (if VerifyOptions.Roots equals nil and the installation is on Windows). Thus, X.509 certificate verification is incomplete.
- Record
CVE-2020-14039- Updated
- 2026-11-02
EUVDEUVD-2020-6205 No score
In Go before 1.13.13 and 1.14.x before 1.14.5, Certificate.Verify may lack a check on the VerifyOptions.KeyUsages EKU requirements (if VerifyOptions.Roots equals nil and the installation is on Windows). Thus, X.509 certificate verification is incomplete.
- Record
EUVD-2020-6205- Updated
- 2026-11-03
GitHub AdvisoriesGHSA-v8jf-78w9-hp93
5.3
In Go before 1.13.13 and 1.14.x before 1.14.5, Certificate.Verify may lack a check on the...
In Go before 1.13.13 and 1.14.x before 1.14.5, Certificate.Verify may lack a check on the VerifyOptions.KeyUsages EKU requirements (if VerifyOptions.Roots equals nil and the installation is on Windows). Thus, X.509 certificate verification is incomplete.
- Record
GHSA-v8jf-78w9-hp93- CVSS 3.1
- 5.3 Medium
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:L/A:N - Weakness
- CWE-295
- Updated
- 2026-11-02
OSVAZL-79080
5.3
CVE-2020-14039 affecting package golang 1.25.7-1
In Go before 1.13.13 and 1.14.x before 1.14.5, Certificate.Verify may lack a check on the VerifyOptions.KeyUsages EKU requirements (if VerifyOptions.Roots equals nil and the installation is on Windows). Thus, X.509 certificate verification is incomplete.
- Record
AZL-79080- CVSS 3.1
- 5.3 Medium
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:L/A:N - Updated
- 2026-11-02
OSVAZL-98574
5.3
CVE-2020-14039 affecting package golang 1.27.1-1
In Go before 1.13.13 and 1.14.x before 1.14.5, Certificate.Verify may lack a check on the VerifyOptions.KeyUsages EKU requirements (if VerifyOptions.Roots equals nil and the installation is on Windows). Thus, X.509 certificate verification is incomplete.
- Record
AZL-98574- CVSS 3.1
- 5.3 Medium
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:L/A:N - Updated
- 2026-11-02
Show 13 moreShow less
OSVBELL-CVE-2020-14039
5.3
CVE-2020-14039 does not affect BellSoft software
- Record
BELL-CVE-2020-14039- CVSS 3.1
- 5.3 Medium
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:L/A:N - Updated
- 2026-11-02
OSV
5.3
In Go before 1.13.13 and 1.14.x before 1.14.5, Certificate.Verify may lack a check on the VerifyOptions.KeyUsages EKU requirements (if VerifyOptions.Roots equals nil and the installation is on Windows). Thus, X.509 certificate verification is incomplete.
- Record
CVE-2020-14039- CVSS 3.1
- 5.3 Medium
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:L/A:N - Updated
- 2026-11-02
OSVBIT-golang-2020-14039 No score
In Go before 1.13.13 and 1.14.x before 1.14.5, Certificate.Verify may lack a check on the VerifyOptions.KeyUsages EKU requirements (if VerifyOptions.Roots equals nil and the installation is on Windows). Thus, X.509 certificate verification is incomplete.
- Record
BIT-golang-2020-14039- Updated
- 2026-11-02
OSVGO-2021-0223 No score
Certificate verification error on Windows in crypto/x509
On Windows, if VerifyOptions.Roots is nil, Certificate.Verify does not check the EKU requirements specified in VerifyOptions.KeyUsages. This may allow a certificate to be used for an unintended purpose.
- Record
GO-2021-0223- Updated
- 2026-11-02
OSVopenSUSE-SU-2020:1087-1 No score
Security update for go1.13
This update for go1.13 fixes the following issues:
- go1.13.14 (released 2020/07/16) includes fixes to the compiler,
vet, and the database/sql, net/http, and reflect packages
Refs bsc#1149259 go1.13 release tracking
- go#39925 net/http: panic on misformed If-None-Match Header with http.ServeContent
- go#39848 cmd/compile: internal compile error when using sync.Pool: mismatched zero/store sizes
- go#39823 cmd/go: TestBuildIDContainsArchModeEnv/386 fails on linux/386 in Go 1.14 and 1.13, not 1.15
- go#39697 reflect: panic from malloc after MakeFunc function returns value that is also stored globally
- go#39561 cmd/compile/internal/ssa: TestNexting/dlv-dbg-hist failing on linux-386-longtest builder because it tries to use an older version of dlv which only supports linux/amd64
- go#39538 net: TestDialParallel is flaky on windows-amd64-longtest
- go#39287 cmd/vet: update for new number formats
- go#40211 net/http: Expect 100-continue panics in httputil.ReverseProxy bsc#1174153 CVE-2020-15586
- go#40209 crypto/x509: Certificate.Verify method seemingly ignoring EKU requirements on Windows bsc#1174191 CVE-2020-14039 (Windows only)
- go#38932 runtime: preemption in startTemplateThread may cause infinite hang
- go#36689 go/types, math/big: data race in go/types due to math/big.Rat accessors unsafe for concurrent use
- Add patch to ensure /etc/hosts is used if /etc/nsswitch.conf is not present bsc#1172868 gh#golang/go#35305
This update was imported from the SUSE:SLE-15:Update update project.
- Record
openSUSE-SU-2020:1087-1- Updated
- 2026-11-02
OSVopenSUSE-SU-2020:1095-1 No score
Security update for go1.13
This update for go1.13 fixes the following issues:
- go1.13.14 (released 2020/07/16) includes fixes to the compiler,
vet, and the database/sql, net/http, and reflect packages
Refs bsc#1149259 go1.13 release tracking
- go#39925 net/http: panic on misformed If-None-Match Header with http.ServeContent
- go#39848 cmd/compile: internal compile error when using sync.Pool: mismatched zero/store sizes
- go#39823 cmd/go: TestBuildIDContainsArchModeEnv/386 fails on linux/386 in Go 1.14 and 1.13, not 1.15
- go#39697 reflect: panic from malloc after MakeFunc function returns value that is also stored globally
- go#39561 cmd/compile/internal/ssa: TestNexting/dlv-dbg-hist failing on linux-386-longtest builder because it tries to use an older version of dlv which only supports linux/amd64
- go#39538 net: TestDialParallel is flaky on windows-amd64-longtest
- go#39287 cmd/vet: update for new number formats
- go#40211 net/http: Expect 100-continue panics in httputil.ReverseProxy bsc#1174153 CVE-2020-15586
- go#40209 crypto/x509: Certificate.Verify method seemingly ignoring EKU requirements on Windows bsc#1174191 CVE-2020-14039 (Windows only)
- go#38932 runtime: preemption in startTemplateThread may cause infinite hang
- go#36689 go/types, math/big: data race in go/types due to math/big.Rat accessors unsafe for concurrent use
- Add patch to ensure /etc/hosts is used if /etc/nsswitch.conf is not present bsc#1172868 gh#golang/go#35305
This update was imported from the SUSE:SLE-15:Update update project.
- Record
openSUSE-SU-2020:1095-1- Updated
- 2026-11-02
OSVopenSUSE-SU-2020:1405-1 No score
Security update for go1.14
This update for go1.14 fixes the following issues:
-
go1.14 was updated to version 1.14.7
-
CVE-2020-16845: dUvarint and ReadVarint can read an unlimited number of bytes from invalid inputs (bsc#1174977).
-
go1.14.6 (released 2020-07-16) includes fixes to the go command, the compiler, the linker, vet, and the database/sql, encoding/json, net/http, reflect, and testing packages. Refs bsc#1164903 go1.14 release tracking Refs bsc#1174153 bsc#1174191
- go#39991 runtime: missing deferreturn on linux/ppc64le
- go#39920 net/http: panic on misformed If-None-Match Header with http.ServeContent
- go#39849 cmd/compile: internal compile error when using sync.Pool: mismatched zero/store sizes
- go#39824 cmd/go: TestBuildIDContainsArchModeEnv/386 fails on linux/386 in Go 1.14 and 1.13, not 1.15
- go#39698 reflect: panic from malloc after MakeFunc function returns value that is also stored globally
- go#39636 reflect: DeepEqual can return true for values that are not equal
- go#39585 encoding/json: incorrect object key unmarshaling when using custom TextUnmarshaler as Key with string va lues
- go#39562 cmd/compile/internal/ssa: TestNexting/dlv-dbg-hist failing on linux-386-longtest builder because it trie s to use an older version of dlv which only supports linux/amd64
- go#39308 testing: streaming output loses parallel subtest associations
- go#39288 cmd/vet: update for new number formats
- go#39101 database/sql: context cancellation allows statements to execute after rollback
- go#38030 doc: BuildNameToCertificate deprecated in go 1.14 not mentioned in the release notes
- go#40212 net/http: Expect 100-continue panics in httputil.ReverseProxy bsc#1174153 CVE-2020-15586
- go#40210 crypto/x509: Certificate.Verify method seemingly ignoring EKU requirements on Windows bsc#1174191 CVE-2020-14039 (Windows only)
-
Add patch to ensure /etc/hosts is used if /etc/nsswitch.conf is not present bsc#1172868 gh#golang/go#35305
This update was imported from the SUSE:SLE-15:Update update project.
- Record
openSUSE-SU-2020:1405-1- Updated
- 2026-11-02
OSVopenSUSE-SU-2020:1407-1 No score
Security update for go1.14
This update for go1.14 fixes the following issues:
-
go1.14 was updated to version 1.14.7
-
CVE-2020-16845: dUvarint and ReadVarint can read an unlimited number of bytes from invalid inputs (bsc#1174977).
-
go1.14.6 (released 2020-07-16) includes fixes to the go command, the compiler, the linker, vet, and the database/sql, encoding/json, net/http, reflect, and testing packages. Refs bsc#1164903 go1.14 release tracking Refs bsc#1174153 bsc#1174191
- go#39991 runtime: missing deferreturn on linux/ppc64le
- go#39920 net/http: panic on misformed If-None-Match Header with http.ServeContent
- go#39849 cmd/compile: internal compile error when using sync.Pool: mismatched zero/store sizes
- go#39824 cmd/go: TestBuildIDContainsArchModeEnv/386 fails on linux/386 in Go 1.14 and 1.13, not 1.15
- go#39698 reflect: panic from malloc after MakeFunc function returns value that is also stored globally
- go#39636 reflect: DeepEqual can return true for values that are not equal
- go#39585 encoding/json: incorrect object key unmarshaling when using custom TextUnmarshaler as Key with string va lues
- go#39562 cmd/compile/internal/ssa: TestNexting/dlv-dbg-hist failing on linux-386-longtest builder because it trie s to use an older version of dlv which only supports linux/amd64
- go#39308 testing: streaming output loses parallel subtest associations
- go#39288 cmd/vet: update for new number formats
- go#39101 database/sql: context cancellation allows statements to execute after rollback
- go#38030 doc: BuildNameToCertificate deprecated in go 1.14 not mentioned in the release notes
- go#40212 net/http: Expect 100-continue panics in httputil.ReverseProxy bsc#1174153 CVE-2020-15586
- go#40210 crypto/x509: Certificate.Verify method seemingly ignoring EKU requirements on Windows bsc#1174191 CVE-2020-14039 (Windows only)
-
Add patch to ensure /etc/hosts is used if /etc/nsswitch.conf is not present bsc#1172868 gh#golang/go#35305
This update was imported from the SUSE:SLE-15:Update update project.
- Record
openSUSE-SU-2020:1407-1- Updated
- 2026-11-02
OSVopenSUSE-SU-2024:10806-1 No score
go1.13-1.13.15-2.6 on GA media
These are all security issues fixed in the go1.13-1.13.15-2.6 package on the GA media of openSUSE Tumbleweed.
- Record
openSUSE-SU-2024:10806-1- Updated
- 2026-11-02
OSVopenSUSE-SU-2024:10807-1 No score
go1.14-1.14.15-1.6 on GA media
These are all security issues fixed in the go1.14-1.14.15-1.6 package on the GA media of openSUSE Tumbleweed.
- Record
openSUSE-SU-2024:10807-1- Updated
- 2026-11-02
OSVopenSUSE-SU-2024:11430-1 No score
terraform-provider-helm-2.0.0-1.4 on GA media
These are all security issues fixed in the terraform-provider-helm-2.0.0-1.4 package on the GA media of openSUSE Tumbleweed.
- Record
openSUSE-SU-2024:11430-1- Updated
- 2026-11-02
OSVSUSE-SU-2020:2562-1 No score
Security update for go1.14
This update for go1.14 fixes the following issues:
-
go1.14 was updated to version 1.14.7
-
CVE-2020-16845: dUvarint and ReadVarint can read an unlimited number of bytes from invalid inputs (bsc#1174977).
-
go1.14.6 (released 2020-07-16) includes fixes to the go command, the compiler, the linker, vet, and the database/sql, encoding/json, net/http, reflect, and testing packages. Refs bsc#1164903 go1.14 release tracking Refs bsc#1174153 bsc#1174191
- go#39991 runtime: missing deferreturn on linux/ppc64le
- go#39920 net/http: panic on misformed If-None-Match Header with http.ServeContent
- go#39849 cmd/compile: internal compile error when using sync.Pool: mismatched zero/store sizes
- go#39824 cmd/go: TestBuildIDContainsArchModeEnv/386 fails on linux/386 in Go 1.14 and 1.13, not 1.15
- go#39698 reflect: panic from malloc after MakeFunc function returns value that is also stored globally
- go#39636 reflect: DeepEqual can return true for values that are not equal
- go#39585 encoding/json: incorrect object key unmarshaling when using custom TextUnmarshaler as Key with string va lues
- go#39562 cmd/compile/internal/ssa: TestNexting/dlv-dbg-hist failing on linux-386-longtest builder because it trie s to use an older version of dlv which only supports linux/amd64
- go#39308 testing: streaming output loses parallel subtest associations
- go#39288 cmd/vet: update for new number formats
- go#39101 database/sql: context cancellation allows statements to execute after rollback
- go#38030 doc: BuildNameToCertificate deprecated in go 1.14 not mentioned in the release notes
- go#40212 net/http: Expect 100-continue panics in httputil.ReverseProxy bsc#1174153 CVE-2020-15586
- go#40210 crypto/x509: Certificate.Verify method seemingly ignoring EKU requirements on Windows bsc#1174191 CVE-2020-14039 (Windows only)
-
Add patch to ensure /etc/hosts is used if /etc/nsswitch.conf is not present bsc#1172868 gh#golang/go#35305
- Record
SUSE-SU-2020:2562-1- Updated
- 2026-11-02
OSVSUSE-SU-2021:0263-1 No score
Security update for terraform
This update for terraform fixes the following issues:
-
Updated terraform to version 0.13.4 (bsc#1177421)
- Many features, bug fixes, and enhancements were made during this update. Please refer to the terraform rpm changelog, for a full list of all changes.
-
The following terraform providers were updated:
- terraform-provider-aws
- terraform-provider-azurerm
- terraform-provider-external
- terraform-provider-google
- terraform-provider-helm
- terraform-provider-kubernetes
- terraform-provider-local
- terraform-provider-null
- terraform-provider-random
- terraform-provider-tls
- Record
SUSE-SU-2021:0263-1- Updated
- 2026-11-02
Affected products
Affected packages
| Package | Affected | Fixed |
|---|---|---|
golangAzure Linux:3 |
through 1.25.7-1 | None known |
golangAzure Linux:3 |
1.27.0 to 1.27.1-1 | None known |
golangBitnami |
before 1.13.13, 1.14.0 up to 1.14.5 | 1.13.131.14.5 |
stdlibGo |
before 1.13.13, 1.14.0-0 up to 1.14.5 | 1.13.131.14.5 |
go1.14SUSE:Linux Enterprise Module for Development Tools 15 SP1 From an advisory covering 3 CVEs |
before 1.14.7-1.15.1 | 1.14.7-1.15.1 |
go1.14SUSE:Linux Enterprise Module for Development Tools 15 SP2 From an advisory covering 3 CVEs |
before 1.14.7-1.15.1 | 1.14.7-1.15.1 |
terraformSUSE:Linux Enterprise Module for Public Cloud 15 SP2 |
before 0.13.4-6.3.1 | 0.13.4-6.3.1 |
terraform-provider-awsSUSE:Linux Enterprise Module for Public Cloud 15 SP2 |
before 3.11.0-6.3.1 | 3.11.0-6.3.1 |
terraform-provider-azurermSUSE:Linux Enterprise Module for Public Cloud 15 SP2 |
before 2.32.0-6.3.1 | 2.32.0-6.3.1 |
terraform-provider-externalSUSE:Linux Enterprise Module for Public Cloud 15 SP2 |
before 2.0.0-6.3.1 | 2.0.0-6.3.1 |
Show 14 moreShow less
| Package | Affected | Fixed |
|---|---|---|
terraform-provider-googleSUSE:Linux Enterprise Module for Public Cloud 15 SP2 |
before 3.43.0-6.3.1 | 3.43.0-6.3.1 |
terraform-provider-helmSUSE:Linux Enterprise Module for Public Cloud 15 SP2 |
before 1.3.2-6.3.1 | 1.3.2-6.3.1 |
terraform-provider-kubernetesSUSE:Linux Enterprise Module for Public Cloud 15 SP2 |
before 1.13.2-6.3.1 | 1.13.2-6.3.1 |
terraform-provider-localSUSE:Linux Enterprise Module for Public Cloud 15 SP2 |
before 2.0.0-6.3.1 | 2.0.0-6.3.1 |
terraform-provider-nullSUSE:Linux Enterprise Module for Public Cloud 15 SP2 |
before 3.0.0-6.3.1 | 3.0.0-6.3.1 |
terraform-provider-randomSUSE:Linux Enterprise Module for Public Cloud 15 SP2 |
before 3.0.0-6.3.1 | 3.0.0-6.3.1 |
terraform-provider-tlsSUSE:Linux Enterprise Module for Public Cloud 15 SP2 |
before 3.0.0-5.3.2 | 3.0.0-5.3.2 |
go1.13openSUSE:Leap 15.1 From an advisory covering 2 CVEs |
before 1.13.14-lp151.5.1 | 1.13.14-lp151.5.1 |
go1.13openSUSE:Leap 15.2 From an advisory covering 2 CVEs |
before 1.13.14-lp152.2.4.1 | 1.13.14-lp152.2.4.1 |
go1.14openSUSE:Leap 15.1 From an advisory covering 3 CVEs |
before 1.14.7-lp151.13.1 | 1.14.7-lp151.13.1 |
go1.14openSUSE:Leap 15.2 From an advisory covering 3 CVEs |
before 1.14.7-lp152.2.3.1 | 1.14.7-lp152.2.3.1 |
go1.13openSUSE:Tumbleweed From an advisory covering 5 CVEs |
before 1.13.15-2.6 | 1.13.15-2.6 |
go1.14openSUSE:Tumbleweed From an advisory covering 9 CVEs |
before 1.14.15-1.6 | 1.14.15-1.6 |
terraform-provider-helmopenSUSE:Tumbleweed |
before 2.0.0-1.4 | 2.0.0-1.4 |
History
| Recorded | Changed | Sources |
|---|---|---|
| affected, facts | ||
| aliases | EUVD | |
| first indexed | CVE List, GitHub Advisories, NVD, OSV |
Dates are when Every CVE recorded each change. Upstream dates may differ.
In short
CVE-2020-14039 is a medium vulnerability (CVSS 5.3) in Golang Go, published July 17, 2020. No source lists public exploit code. EPSS puts the chance of exploitation in the next 30 days at 1.76%, the 78th percentile. Fixed in golang 1.13.13.
References
groups.google.com/forum
lists.opensuse.org/opensuse-security-announce/2020-07/msg00077.html
lists.opensuse.org/opensuse-security-announce/2020-07/msg00082.html
lists.opensuse.org/opensuse-security-announce/2020-09/msg00029.html
lists.opensuse.org/opensuse-security-announce/2020-09/msg00030.html
oracle.com/security-alerts/cpuApr2021.html
Show 36 moreShow less
security.netapp.com/advisory/ntap-20200731-0005
nvd.nist.gov/vuln/detail/CVE-2020-14039
github.com/advisories/GHSA-v8jf-78w9-hp93
docs.bell-sw.com/security/cves/CVE-2020-14039
go.dev/cl/242597
go.googlesource.com/go/+/82175e699a2e2cd83d3aa34949e9b922d66d52f5
go.dev/issue/39360
groups.google.com/g/golang-announce/c/XZNfaiwgt2w
suse.com/support/update/announcement/2020/suse-su-20202562-1
bugzilla.suse.com/1164903
bugzilla.suse.com/1169832
bugzilla.suse.com/1170826
bugzilla.suse.com/1172868
bugzilla.suse.com/1174153
bugzilla.suse.com/1174191
bugzilla.suse.com/1174977
suse.com/security/cve/CVE-2020-14039
suse.com/security/cve/CVE-2020-15586
suse.com/security/cve/CVE-2020-16845
suse.com/support/update/announcement/2021/suse-su-20210263-1
bugzilla.suse.com/1168921
bugzilla.suse.com/1170264
bugzilla.suse.com/1177421
lists.opensuse.org/archives/list/[email protected]/thread/EQ5XLGDKB3NTUQ5I5XPWTRHM2CUY2C5T
bugzilla.suse.com/1149259
lists.opensuse.org/archives/list/[email protected]/thread/6TN7IMXFQNIWPWCTWVOLRVJXRRQCR67T
lists.opensuse.org/archives/list/[email protected]/thread/DMSI6TFFNOIMEI3XSXGHKMVCWZP2743Q
lists.opensuse.org/archives/list/[email protected]/thread/U3IHSSMDNFW647PZERRLZDGVMXZUQPNM
suse.com/security/cve/CVE-2019-16276
suse.com/security/cve/CVE-2019-17596
suse.com/security/cve/CVE-2020-24553
suse.com/security/cve/CVE-2020-28362
suse.com/security/cve/CVE-2020-28366
suse.com/security/cve/CVE-2020-28367
suse.com/security/cve/CVE-2021-3114
suse.com/security/cve/CVE-2021-3115