GO-2023-1841
Improper handling of non-optional LDFLAGS in go command with cgo in cmd/go
At a glance
- Published
- Updated
- CVE
- CVE-2023-29404
- Aliases
- BIT-golang-2023-29404
Description
The go command may execute arbitrary code at build time when using cgo. This may occur when running "go get" on a malicious module, or when running any other command which builds untrusted code. This is can by triggered by linker flags, specified via a "#cgo LDFLAGS" directive. The arguments for a number of flags which are non-optional are incorrectly considered optional, allowing disallowed flags to be smuggled through the LDFLAGS sanitization. This affects usage of both the gc and gccgo compilers.
Affected packages
| Package | Versions |
|---|---|
| Go · toolchain | introduced 0, fixed 1.19.10, introduced 1.20.0-0, fixed 1.20.5 |
References
- https://go.dev/issue/60305 REPORT
- https://go.dev/cl/501225 FIX
- https://groups.google.com/g/golang-announce/c/q5135a9d924/m/j0ZoAJOHAwAJ WEB
Sources
| Source | Licence |
|---|---|
| OSV.dev | CC-BY 4.0 — Go Vulnerability Database |