Skip to main content
VulnerabilityPublished

CVE-2026-97042: Go toolchain cmd/cgo · Argument Injection

Affects Go toolchain cmd/cgoSource 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/cgo and cmd/compile and cmd/link to 1.27.4 or 1.26.11.

Affected software

ProductAffectedFixed in
Go toolchaincmd/cgoAffected
  • >=1.27.0-0 <1.27.4
Fixed in
  • 1.27.4
Go toolchaincmd/cgoAffected
  • <1.26.11
Fixed in
  • 1.26.11
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

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 that uses "//go:cgo_import_dynamic" or links against a crafted PE object on Windows could pass unsafe library arguments to the external linker. The compiler only checked the first character of the library name in "//go:cgo_import_dynamic" directives and skipped validation in cgo-generated files. In addition, on Windows, "cmd/cgo" and "cmd/link" did not validate imported DLL names extracted from PE object files before emitting "-l<name>" flags for the external linker, allowing a crafted DLL name containing ".." path traversal or special characters to reference arbitrary files on disk. The compiler now validates every character of the library name in "//go:cgo_import_dynamic" directives (including in cgo-generated files on Windows) and rejects ".." path traversal, and "cmd/cgo" and "cmd/link" reject PE imported DLL names containing path separators, "..", ":", or leading "-" or "@".

References

Community reviews

Loading reviews…