| 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 |