blob: d1e32e47a2f4a69d4df940bbb3f07749b18ca71e [file] [log] [blame]
id: GO-2023-1842
modules:
- module: cmd
versions:
- fixed: 1.19.10
- introduced: 1.20.0-0
fixed: 1.20.5
vulnerable_at: 1.20.4
packages:
- package: cmd/go
- package: cmd/cgo
summary: |-
Improper sanitization of LDFLAGS with embedded spaces in go command with cgo in
cmd/go
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.
Flags containing embedded spaces are mishandled, allowing disallowed flags to be
smuggled through the LDFLAGS sanitization by including them in the argument of
another flag. This only affects usage of the gccgo compiler.
credits:
- Juho Nurminen of Mattermost
references:
- report: https://go.dev/issue/60306
- fix: https://go.dev/cl/501224
- web: https://groups.google.com/g/golang-announce/c/q5135a9d924/m/j0ZoAJOHAwAJ
cve_metadata:
id: CVE-2023-29405
cwe: 'CWE-88: Improper Neutralization of Argument Delimiters in a Command (''Argument Injection'')'
references:
- https://lists.fedoraproject.org/archives/list/package-announce@lists.fedoraproject.org/message/XBS3IIK6ADV24C5ULQU55QLT2UE762ZX/
- https://lists.fedoraproject.org/archives/list/package-announce@lists.fedoraproject.org/message/NZ2O6YCO2IZMZJELQGZYR2WAUNEDLYV6/
- https://security.gentoo.org/glsa/202311-09
review_status: REVIEWED