Skip to main content
VulnerabilityPublished

CVE-2026-97041: Go toolchain cmd/compile · Argument Injection

Affects Go toolchain cmd/compileSource CVE Database V5

0
Compare

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

Severity
Unrated

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

  1. Disclosed: evidence found.

    CVE published 11 Nov 2026

  2. Detectable: no evidence on record.

    No public nuclei template indexed

  3. Weaponized: no evidence on record.

    No public exploit code indexed in Metasploit or Exploit-DB

  4. Exploited in the wild: no evidence on record.

    Not in CISA KEV and no source reports exploitation

  5. Observed by OffSeq 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

ProductAffectedFixed in
Go toolchaincmd/compileAffected
  • >=1.27.0-0 <1.27.4
Fixed in
  • 1.27.4
Go toolchaincmd/compileAffected
  • <1.26.11
Fixed in
  • 1.26.11
Go toolchaincmd/linkAffected
  • >=1.27.0-0 <1.27.4
Fixed in
  • 1.27.4
Go toolchaincmd/linkAffected
  • <1.26.11
Fixed in
  • 1.26.11
Gocmd/compilepkg:golang/cmd/compileOther threatsAffected
  • <1.26.11
  • >=1.27.0-0 <1.27.4
Fixed in
  • 1.26.11
  • 1.27.4
Gocmd/linkpkg:golang/cmd/linkOther threatsAffected
  • <1.26.11
  • >=1.27.0-0 <1.27.4
Fixed in
  • 1.26.11
  • 1.27.4

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

References

Community reviews

Loading reviews…