CVE-2026-97042 Linker flag injection via cgo_import_dynamic and PE DLL names in cmd/cgo, cmd/compile, and cmd/link
go toolchain: no CVSS score yet. EPSS 0.2% estimated probability of exploitation activity in the next 30 days. Fixed in toolchain 1.26.11, 1.27.4.
On this page
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 "@".
- EPSS
- 0.2% estimated probability of exploitation activity in the next 30 days; 14th percentile. Scored 2026-11-13. A forecast for this CVE across the internet, not for your own systems.
- Published
- Modified
- Assigned by
- Go (CNA)
- NVD analysis
- Awaiting analysis
- Record from
- the NVD, synced
Ask an AI about this CVE
Show the prompt
Explain CVE-2026-97042 for an engineer deciding whether to act. Use https://cve.bz/api/public/cves/CVE-2026-97042?via=ask-ai-copy and https://cve.bz/cve/CVE-2026-97042?via=ask-ai-copy as the source of truth: what is affected and which versions fix it, whether it is in CISA KEV, public exploits, and its EPSS (an internet-wide 30-day estimate of exploitation activity, not a forecast for my systems). If they give no fixed versions, use the CVE record https://cveawg.mitre.org/api/cve/CVE-2026-97042 or the vendor advisory, not third-party mirrors. Tell me how to check whether I am affected and how to verify a fix. Cite the sources and say where they are uncertain.Opens a third-party assistant; its answer is its own, not cve.bz's. The prompt holds only this CVE's id and public links.
Affected
- go toolchain:cmd/cgo
- go toolchain:cmd/compile
- go toolchain:cmd/link
Versions
From the CNA's record in the CVE List.
| Product | Affected |
|---|---|
| Go toolchain cmd/cgo | before 1.26.11 |
| Go toolchain cmd/cgo | from 1.27.0-0 before 1.27.4 |
| Go toolchain cmd/compile | before 1.26.11 |
| Go toolchain cmd/compile | from 1.27.0-0 before 1.27.4 |
| Go toolchain cmd/link | before 1.26.11 |
| Go toolchain cmd/link | from 1.27.0-0 before 1.27.4 |
Fix and patched versions
toolchain(Go): fixed in 1.26.11, 1.27.4- Debian, SUSE, openSUSE, Alpine: fixed package versions per release
Packages (OSV)
| Advisory | Ecosystem | Package | Affected | Fixed in |
|---|---|---|---|---|
| GO-2026-6849 | Go | toolchain | <1.26.11 >=1.27.0-0 <1.27.4 | 1.26.11, 1.27.4 |
Linux distributions
| Distribution | Release | Package | Fixed in | Advisory |
|---|---|---|---|---|
| Debian | 12 | golang-1.19 | no fix listed | DEBIAN-CVE-2026-97042 |
| Debian | 13 | golang-1.24 | no fix listed | DEBIAN-CVE-2026-97042 |
| Debian | 14 | golang-1.26 | 1.26.11-1 | DEBIAN-CVE-2026-97042 |
| Debian | 14 | golang-1.27 | 1.27.4-1 | DEBIAN-CVE-2026-97042 |
| Ubuntu | 14.04:LTS | golang-1.10 | no fix listed | UBUNTU-CVE-2026-97042 |
| Ubuntu | 16.04:LTS | golang-1.6, golang-1.10 | no fix listed | UBUNTU-CVE-2026-97042 |
| Ubuntu | 18.04:LTS | golang-1.8, golang-1.9, golang-1.10 | no fix listed | UBUNTU-CVE-2026-97042 |
| Ubuntu | 20.04:LTS | golang-1.13, golang-1.14, golang-1.18 and 3 more | no fix listed | UBUNTU-CVE-2026-97042 |
| Ubuntu | 22.04:LTS | golang-1.17, golang-1.18, golang-1.20 and 6 more | no fix listed | UBUNTU-CVE-2026-97042 |
| Ubuntu | 24.04:LTS | golang-1.21, golang-1.22, golang-1.23 and 3 more | no fix listed | UBUNTU-CVE-2026-97042 |
| Ubuntu | 26.04:LTS | golang-1.23, golang-1.24, golang-1.25 and 1 more | no fix listed | UBUNTU-CVE-2026-97042 |
| Ubuntu | 26.10 | golang-1.26, golang-1.27 | no fix listed | UBUNTU-CVE-2026-97042 |
| Ubuntu | Pro:16.04:LTS | golang-1.13, golang-1.18 | no fix listed | UBUNTU-CVE-2026-97042 |
| Ubuntu | Pro:18.04:LTS | golang-1.13, golang-1.16, golang-1.18 | no fix listed | UBUNTU-CVE-2026-97042 |
| Ubuntu | Pro:20.04:LTS | golang-1.16 | no fix listed | UBUNTU-CVE-2026-97042 |
| Ubuntu | Pro:22.04:LTS | golang-1.13 | no fix listed | UBUNTU-CVE-2026-97042 |
| SUSE | Linux Enterprise High Performance Computing 15 SP4-ESPOS, Linux Enterprise High Performance Computing 15 SP4-LTSS, Linux Enterprise High Performance Computing 15 SP5-ESPOS and 8 more | go1.26 | 1.26.11-150000.1.39.1 | SUSE-SU-2026:5227-1 |
| SUSE | Linux Enterprise High Performance Computing 15 SP4-ESPOS, Linux Enterprise High Performance Computing 15 SP4-LTSS, Linux Enterprise High Performance Computing 15 SP5-ESPOS and 8 more | go1.27 | 1.27.4-150000.1.18.1 | SUSE-SU-2026:5226-1 |
| openSUSE | Tumbleweed | go1.26 | 1.26.11-1.1 | openSUSE-SU-2026:12529-1 |
| Alpine | v3.24 | go | 1.26.11-r0 | ALPINE-CVE-2026-97042 |
| Azure Linux | 3 | golang | no fix listed | AZL-113426 AZL-113453 |
| Azure Linux | 3 | python-tensorboard | no fix listed | AZL-113573 |
| Azure Linux | 3 | tensorflow | no fix listed | AZL-113672 |
From the distributions' data via OSV.dev: the Debian Security Tracker; Ubuntu Security Notices © Canonical Ltd., CC BY-SA 4.0; SUSE security data, CC BY 4.0; the Alpine secdb, CC BY-SA 4.0; Microsoft's Azure Linux vulnerability data, MIT. Modified: reformatted and linked to CVE records. Credits. On the distributions' own pages: Debian · Ubuntu · SUSE · openSUSE · Alpine.