#VU56829 Input validation error in Go programming language


Published: 2021-09-22

Vulnerability identifier: #VU56829

Vulnerability risk: Medium

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

CVE-ID: CVE-2021-29923

CWE-ID: CWE-20

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 bypass implemented security restrictions.

The vulnerability exists due to insufficient validation of user-supplied input in net.ParseIP and net.ParseCIDR, as the Go interpreter does not properly consider extraneous zero characters at the beginning of an IP address octet. A remote attacker can bypass access control that is based on IP addresses, because of unexpected octal interpretation.

Mitigation
Install updates from vendor's website.

Vulnerable software versions

Go programming language: 1.15.8 - 1.15.15, 1.16 - 1.16.7, 1.14.15


External links
http://github.com/golang/go/issues/43389
http://github.com/golang/go/issues/30999
http://defcon.org/html/defcon-29/dc-29-speakers.html#kaoudis
http://github.com/sickcodes/security/blob/master/advisories/SICK-2021-016.md
http://golang.org/pkg/net/#ParseCIDR
http://go-review.googlesource.com/c/go/+/325829/


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