{"dataType":"CVE_RECORD","dataVersion":"5.2","cveMetadata":{"cveId":"CVE-2026-97041","assignerOrgId":"1bb62c36-49e3-4200-9d77-64a1400537cc","state":"PUBLISHED","assignerShortName":"Go","dateReserved":"2026-09-23T23:05:04.987Z","datePublished":"2026-11-11T03:13:15.269Z","dateUpdated":"2026-11-11T03:13:15.269Z"},"containers":{"cna":{"providerMetadata":{"orgId":"1bb62c36-49e3-4200-9d77-64a1400537cc","shortName":"Go","dateUpdated":"2026-11-11T03:13:15.269Z"},"title":"Host linker flag injection via //go:cgo_* directives in cmd/compile and cmd/link","descriptions":[{"lang":"en","value":"Building a malicious package containing \"//go:cgo_*\" compiler directives could inject arbitrary flags into the external linker invocation on ELF platforms. The compiler and linker did not reject commas in \"//go:cgo_import_dynamic\", \"//go:cgo_export_dynamic\", \"//go:cgo_export_static\", \"//go:cgo_import_static\", and \"//go:cgo_dynamic_linker\" directives, and the linker passed the dynamic linker path using \"-Wl,--dynamic-linker,<path>\". Furthermore, the two-argument form of \"//go:cgo_import_dynamic\" (which is permitted in non-cgo Go source files) could overwrite the external symbol name of a symbol already marked for cgo export. A symbol name or dynamic linker path containing a comma or leading \"@\" could split \"-Wl,--export-dynamic-symbol=\" or \"-Wl,--dynamic-linker,\" into arbitrary host linker flags or response file arguments. The compiler and linker now reject commas in \"//go:cgo_*\" symbol and dynamic linker directives, the linker passes \"-Wl,--dynamic-linker=<path>\", and \"cgo_import_dynamic\" no longer overwrites symbols exported via \"cgo_export_dynamic\" or \"cgo_export_static\"."}],"affected":[{"vendor":"Go toolchain","product":"cmd/compile","collectionURL":"https://pkg.go.dev","packageName":"cmd/compile","versions":[{"version":"0","lessThan":"1.26.11","status":"affected","versionType":"semver"},{"version":"1.27.0-0","lessThan":"1.27.4","status":"affected","versionType":"semver"}],"defaultStatus":"unaffected"},{"vendor":"Go toolchain","product":"cmd/link","collectionURL":"https://pkg.go.dev","packageName":"cmd/link","versions":[{"version":"0","lessThan":"1.26.11","status":"affected","versionType":"semver"},{"version":"1.27.0-0","lessThan":"1.27.4","status":"affected","versionType":"semver"}],"defaultStatus":"unaffected"}],"problemTypes":[{"descriptions":[{"lang":"en","description":"CWE-88: Improper Neutralization of Argument Delimiters in a Command ('Argument Injection')"}]}],"references":[{"url":"https://go.dev/cl/862154"},{"url":"https://go.dev/issue/82569"},{"url":"https://groups.google.com/g/golang-announce/c/iY8TY0wWgbM"},{"url":"https://pkg.go.dev/vuln/GO-2026-6850"}],"credits":[{"lang":"en","value":"RyotaK (https://ryotak.net) of GMO Flatt Security Inc."}]}}}