CVE-2026-97037 Linker script injection via split -Wl, flags and Darwin or symbol linker flags in cgo in cmd/go

Not scored Published Updated
Exploited in the wild
Not known
Fix
Available

What is CVE-2026-97037?

CVE-2026-97037 is a vulnerability in cmd/go, published on 11 Nov 2026.

Official description

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

Which versions are affected by CVE-2026-97037?

1 open source package ship an affected version, including toolchain.

PackageAffectedFixed in
toolchain GoAll versions1.26.11, 1.27.4

How do I fix CVE-2026-97037?

Upgrade toolchain to a fixed version for your release line: 1.26.11 or 1.27.4.

Is CVE-2026-97037 being exploited?

There is no known exploitation of CVE-2026-97037 in the wild and no public exploit code.

Sources

Also known as ALPINE-CVE-2026-97037, DEBIAN-CVE-2026-97037, GHSA-f47v-97w8-qc5g, GO-2026-6854, UBUNTU-CVE-2026-97037.

Is CVE-2026-97037 in your software?

Upload an SBOM and sbomify checks it against every vulnerability here, every day.

Check your SBOMs for free