CVE-2026-97037 Linker script injection via split -Wl, flags and Darwin or symbol linker flags in cgo in cmd/go
go toolchain cmd/go: no CVSS score yet. EPSS 0.3% 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 cgo could cause arbitrary code execution at link time by passing linker script files to the host linker via "#cgo LDFLAGS". Split "-Wl," flags that consume a following argument (such as "-Wl,-rpath", "-Wl,--just-symbols", and "-Wl,-undefined") previously accepted a bare second argument without a "-Wl," prefix, which the compiler driver passes directly to the linker as a positional input file. Additionally, when using GNU ld.bfd, flags such as "-framework", "-Wl,-framework", "-Wl,-undefined", "-Wl,--just-symbols", "-Wl,-R", "-Wl,-subsystem", and (on non-Darwin platforms) "-Wl,-sectcreate" could cause ld.bfd to interpret their arguments as linker scripts if they named a regular file on disk. The go command now requires a "-Wl," prefix on the second token of split "-Wl," flags (except "-Wl,-R"), verifies that these flags do not reference linker script files, and disallows bare "-Wl,--warn-backrefs-exclude".
- EPSS
- 0.3% estimated probability of exploitation activity in the next 30 days; 17th 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-97037 for an engineer deciding whether to act. Use https://cve.bz/api/public/cves/CVE-2026-97037?via=ask-ai-copy and https://cve.bz/cve/CVE-2026-97037?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-97037 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/go
Versions
From the CNA's record in the CVE List.
| Product | Affected |
|---|---|
| Go toolchain cmd/go | before 1.26.11 |
| Go toolchain cmd/go | 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-6854 | 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-97037 |
| Debian | 13 | golang-1.24 | no fix listed | DEBIAN-CVE-2026-97037 |
| Debian | 14 | golang-1.26 | 1.26.11-1 | DEBIAN-CVE-2026-97037 |
| Debian | 14 | golang-1.27 | 1.27.4-1 | DEBIAN-CVE-2026-97037 |
| Ubuntu | 14.04:LTS | golang-1.10 | no fix listed | UBUNTU-CVE-2026-97037 |
| Ubuntu | 16.04:LTS | golang-1.6, golang-1.10 | no fix listed | UBUNTU-CVE-2026-97037 |
| Ubuntu | 18.04:LTS | golang-1.8, golang-1.9, golang-1.10 | no fix listed | UBUNTU-CVE-2026-97037 |
| Ubuntu | 20.04:LTS | golang-1.13, golang-1.14, golang-1.18 and 3 more | no fix listed | UBUNTU-CVE-2026-97037 |
| Ubuntu | 22.04:LTS | golang-1.17, golang-1.18, golang-1.20 and 6 more | no fix listed | UBUNTU-CVE-2026-97037 |
| Ubuntu | 24.04:LTS | golang-1.21, golang-1.22, golang-1.23 and 3 more | no fix listed | UBUNTU-CVE-2026-97037 |
| Ubuntu | 26.04:LTS | golang-1.23, golang-1.24, golang-1.25 and 1 more | no fix listed | UBUNTU-CVE-2026-97037 |
| Ubuntu | 26.10 | golang-1.26, golang-1.27 | no fix listed | UBUNTU-CVE-2026-97037 |
| Ubuntu | Pro:16.04:LTS | golang-1.13, golang-1.18 | no fix listed | UBUNTU-CVE-2026-97037 |
| Ubuntu | Pro:18.04:LTS | golang-1.13, golang-1.16, golang-1.18 | no fix listed | UBUNTU-CVE-2026-97037 |
| Ubuntu | Pro:20.04:LTS | golang-1.16 | no fix listed | UBUNTU-CVE-2026-97037 |
| Ubuntu | Pro:22.04:LTS | golang-1.13 | no fix listed | UBUNTU-CVE-2026-97037 |
| 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-97037 |
| Azure Linux | 3 | gcc | no fix listed | AZL-113411 |
| Azure Linux | 3 | golang | no fix listed | AZL-113447 AZL-113483 |
| Azure Linux | 3 | python-tensorboard | no fix listed | AZL-113618 |
| Azure Linux | 3 | tensorflow | no fix listed | AZL-113669 |
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.