CVE-2026-97041: Go toolchain cmd/compile · Argument Injection
Affects Go toolchain cmd/compileSource CVE Database V5
Not known to be exploited : upgrade to 1.27.4 or 1.26.11 when convenient.
Data as of 11 Nov 2026, 03:33 UTC
Rated by Threat Radar · CVSS not yet scored by NVD
Thin evidence
One scorer or none- Patch
- Available – fixed in 1.27.4, 1.26.11
Exploitation evidence
Disclosed: evidence found.
CVE published 11 Nov 2026
Detectable: no evidence on record.
No public nuclei template indexed
Weaponized: no evidence on record.
No public exploit code indexed in Metasploit or Exploit-DB
Exploited in the wildExploited: no evidence on record.
Not in CISA KEV and no source reports exploitation
Observed by OffSeq MirageSeen by Mirage: no evidence on record.
No attack traffic recorded by OffSeq Mirage sensors
A missing step is not evidence of safety. Sources: cve.org (opens in a new tab), the Metasploit, Exploit-DB and nuclei-templates index as of 10 Nov 2026.
What to do
Upgrade cmd/compile and cmd/link to 1.27.4 or 1.26.11.
Affected software
| Product | Affected | Fixed in |
|---|---|---|
| Go toolchaincmd/compile | Affected
| Fixed in
|
| Go toolchaincmd/compile | Affected
| Fixed in
|
| Go toolchaincmd/link | Affected
| Fixed in
|
| Go toolchaincmd/link | Affected
| Fixed in
|
Gocmd/compilepkg:golang/cmd/compileOther threats | Affected
| Fixed in
|
Gocmd/linkpkg:golang/cmd/linkOther threats | Affected
| Fixed in
|
Check your own hosts for these packages with threat-finder (opens in a new tab), our free open-source scanner.
Description
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".