CVE-2026-97041 Host linker flag injection via //go:cgo_* directives in 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 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".
- 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-97041 for an engineer deciding whether to act. Use https://cve.bz/api/public/cves/CVE-2026-97041?via=ask-ai-copy and https://cve.bz/cve/CVE-2026-97041?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-97041 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/compile
- go toolchain:cmd/link
Versions
From the CNA's record in the CVE List.
| Product | Affected |
|---|---|
| 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-6850 | 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-97041 |
| Debian | 13 | golang-1.24 | no fix listed | DEBIAN-CVE-2026-97041 |
| Debian | 14 | golang-1.26 | 1.26.11-1 | DEBIAN-CVE-2026-97041 |
| Debian | 14 | golang-1.27 | 1.27.4-1 | DEBIAN-CVE-2026-97041 |
| Ubuntu | 14.04:LTS | golang-1.10 | no fix listed | UBUNTU-CVE-2026-97041 |
| Ubuntu | 16.04:LTS | golang-1.6, golang-1.10 | no fix listed | UBUNTU-CVE-2026-97041 |
| Ubuntu | 18.04:LTS | golang-1.8, golang-1.9, golang-1.10 | no fix listed | UBUNTU-CVE-2026-97041 |
| Ubuntu | 20.04:LTS | golang-1.13, golang-1.14, golang-1.18 and 3 more | no fix listed | UBUNTU-CVE-2026-97041 |
| Ubuntu | 22.04:LTS | golang-1.17, golang-1.18, golang-1.20 and 6 more | no fix listed | UBUNTU-CVE-2026-97041 |
| Ubuntu | 24.04:LTS | golang-1.21, golang-1.22, golang-1.23 and 3 more | no fix listed | UBUNTU-CVE-2026-97041 |
| Ubuntu | 26.04:LTS | golang-1.23, golang-1.24, golang-1.25 and 1 more | no fix listed | UBUNTU-CVE-2026-97041 |
| Ubuntu | 26.10 | golang-1.26, golang-1.27 | no fix listed | UBUNTU-CVE-2026-97041 |
| Ubuntu | Pro:16.04:LTS | golang-1.13, golang-1.18 | no fix listed | UBUNTU-CVE-2026-97041 |
| Ubuntu | Pro:18.04:LTS | golang-1.13, golang-1.16, golang-1.18 | no fix listed | UBUNTU-CVE-2026-97041 |
| Ubuntu | Pro:20.04:LTS | golang-1.16 | no fix listed | UBUNTU-CVE-2026-97041 |
| Ubuntu | Pro:22.04:LTS | golang-1.13 | no fix listed | UBUNTU-CVE-2026-97041 |
| 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-97041 |
| Azure Linux | 3 | golang | no fix listed | AZL-113432 AZL-113462 |
| Azure Linux | 3 | python-tensorboard | no fix listed | AZL-113606 |
| Azure Linux | 3 | tensorflow | no fix listed | AZL-113654 |
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.