#VU77528 Code Injection in Go programming language


Published: 2023-06-19

Vulnerability identifier: #VU77528

Vulnerability risk: Medium

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

CVE-ID: CVE-2023-29402

CWE-ID: CWE-94

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 execute arbitrary code on the target system.

The vulnerability exists due to improper input validation within the cgo go command when building code that contains directories with newline characters in their names. A remote attacker can pass specially crafted input to the cgo command at build time and potentially compromise the system.

Modules which are retrieved using the go command, i.e. via "go get", are not affected (modules retrieved using GOPATH-mode, i.e. GO111MODULE=off, may be affected).

Mitigation
Install updates from vendor's website.

Vulnerable software versions

Go programming language: 1.20 - 1.20.4, 1.1 - 1.19.9, 1.18 - 1.18.10, 1.17 - 1.17.13, 1.16 - 1.16.15, 1.15 - 1.15.15, 1.14 - 1.14.15, 1.13 - 1.13.15, 1.12 - 1.12.17, 1.11 - 1.11beta3, 1.10 - 1.10.8, 1.9 - 1.9.7, 1.8 - 1.8.7, 1.7 - 1.7.6, 1.6 - 1.6.4, 1.5 - 1.5.4, 1.4 - 1.4.3, 1.3 - 1.3.3, 1.2 - 1.2.2, 1.0 - 1.0.3


External links
http://groups.google.com/g/golang-announce/c/q5135a9d924/m/j0ZoAJOHAwAJ
http://pkg.go.dev/vuln/GO-2023-1839
http://go.dev/issue/60167
http://go.dev/cl/501226


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