#VU31890 Improper Certificate Validation in Go programming language


Published: 2020-07-27

Vulnerability identifier: #VU31890

Vulnerability risk: Medium

CVSSv3.1: 4.6 [CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:L/A:N/E:U/RL:O/RC:C]

CVE-ID: CVE-2020-14039

CWE-ID: CWE-295

Exploitation vector: Network

Exploit availability: No

Vulnerable software:
Go programming language
Universal components / Libraries / Scripting languages

Vendor: Google

Description

The vulnerability allows a remote attacker to compromise the target system.

The vulnerability exists when "VerifyOptions.Roots" is nil, "Certificate.Verify" does not check the EKU requirements specified in "VerifyOptions.KeyUsages".

Mitigation
Install updates from vendor's website.

Vulnerable software versions

Go programming language: 1.13 - 1.13.14, 1.14 - 1.14.4


External links
http://lists.opensuse.org/opensuse-security-announce/2020-07/msg00077.html
http://groups.google.com/forum/#!forum/golang-announce
http://groups.google.com/forum/#!topic/golang-announce/XZNfaiwgt2w


Q & A

Can this vulnerability be exploited remotely?

Yes. This vulnerability can be exploited by a remote non-authenticated attacker via the Internet.

Is there known malware, which exploits this vulnerability?

No. We are not aware of malware exploiting this vulnerability.


Latest bulletins with this vulnerability