Every CVE Search/ Get API key

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...

5.3 MediumFix available

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

1.76%Up 0.1 points since Apr 14, 2021
90%50%10%1%

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 MediumCVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:L/A:N
CVSS 2.0
5.0 MediumAV: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 MediumCVSS: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 MediumCVSS: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 MediumCVSS: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 MediumCVSS: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 MediumCVSS: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

Affected packages
PackageAffectedFixed
golang
Azure Linux:3
through 1.25.7-1 None known
golang
Azure Linux:3
1.27.0 to 1.27.1-1 None known
golang
Bitnami
before 1.13.13, 1.14.0 up to 1.14.5
1.13.131.14.5
stdlib
Go
before 1.13.13, 1.14.0-0 up to 1.14.5
1.13.131.14.5
go1.14
SUSE: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.14
SUSE: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
terraform
SUSE:Linux Enterprise Module for Public Cloud 15 SP2
before 0.13.4-6.3.1
0.13.4-6.3.1
terraform-provider-aws
SUSE:Linux Enterprise Module for Public Cloud 15 SP2
before 3.11.0-6.3.1
3.11.0-6.3.1
terraform-provider-azurerm
SUSE:Linux Enterprise Module for Public Cloud 15 SP2
before 2.32.0-6.3.1
2.32.0-6.3.1
terraform-provider-external
SUSE: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
Affected packages
PackageAffectedFixed
terraform-provider-google
SUSE:Linux Enterprise Module for Public Cloud 15 SP2
before 3.43.0-6.3.1
3.43.0-6.3.1
terraform-provider-helm
SUSE:Linux Enterprise Module for Public Cloud 15 SP2
before 1.3.2-6.3.1
1.3.2-6.3.1
terraform-provider-kubernetes
SUSE:Linux Enterprise Module for Public Cloud 15 SP2
before 1.13.2-6.3.1
1.13.2-6.3.1
terraform-provider-local
SUSE:Linux Enterprise Module for Public Cloud 15 SP2
before 2.0.0-6.3.1
2.0.0-6.3.1
terraform-provider-null
SUSE:Linux Enterprise Module for Public Cloud 15 SP2
before 3.0.0-6.3.1
3.0.0-6.3.1
terraform-provider-random
SUSE:Linux Enterprise Module for Public Cloud 15 SP2
before 3.0.0-6.3.1
3.0.0-6.3.1
terraform-provider-tls
SUSE:Linux Enterprise Module for Public Cloud 15 SP2
before 3.0.0-5.3.2
3.0.0-5.3.2
go1.13
openSUSE:Leap 15.1
From an advisory covering 2 CVEs
before 1.13.14-lp151.5.1
1.13.14-lp151.5.1
go1.13
openSUSE: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.14
openSUSE:Leap 15.1
From an advisory covering 3 CVEs
before 1.14.7-lp151.13.1
1.14.7-lp151.13.1
go1.14
openSUSE: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.13
openSUSE:Tumbleweed
From an advisory covering 5 CVEs
before 1.13.15-2.6
1.13.15-2.6
go1.14
openSUSE:Tumbleweed
From an advisory covering 9 CVEs
before 1.14.15-1.6
1.14.15-1.6
terraform-provider-helm
openSUSE:Tumbleweed
before 2.0.0-1.4
2.0.0-1.4

History

History
RecordedChangedSources
affected, facts
aliasesEUVD
first indexedCVE 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

Show 36 moreShow less
MoveEnter Open