Security restrictions bypass in Go programming language



Published: 2021-09-22
Risk Medium
Patch available YES
Number of vulnerabilities 1
CVE-ID CVE-2021-29923
CWE-ID CWE-20
Exploitation vector Network
Public exploit N/A
Vulnerable software
Subscribe
Go programming language
Universal components / Libraries / Scripting languages

Vendor Google

Security Bulletin

This security bulletin contains one medium risk vulnerability.

1) Input validation error

EUVDB-ID: #VU56829

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 - Improper input validation

Exploit availability: No

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

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.



###SIDEBAR###