# CVE-2026-97041: Go compiler cgo linker flag injection via directives

Source: https://junglewise.ai/threats/cve-2026-97041-building-a-malicious-package-containing-go-cgo-compiler  
Publisher: Junglewise Threat Intelligence, https://junglewise.ai/threats  
Published: 2026-11-11. Updated: 2026-11-11  
License: CC BY 4.0 with a link back

CVE-2026-97041 · Severity: info · Published 2026-11-11

The Go compiler improperly validated special compiler directives used for C interoperability, allowing a malicious package to inject arbitrary flags into the system linker. An attacker distributing a crafted Go package could gain control over linker behavior, potentially compromising the integrity of compiled binaries on ELF platforms (Linux, BSD).

Technologies: [toolchain (Go)](https://junglewise.ai/threats/technologies/toolchain). Vendors: [Go](https://junglewise.ai/threats/vendors/go).

## Quick answers

**Is CVE-2026-97041 exploited in the wild?** No. Junglewise Threat Intelligence has no report of CVE-2026-97041 being exploited in the wild.

**How severe is CVE-2026-97041?** Informational severity, published 11 November 2026.

**Which products and versions are affected?** toolchain (Go) SEMVER:introduced=0,fixed=1.26.11,introduced=1.27.0-0,fixed=1.27.4.

**Is there a fix for CVE-2026-97041?** Yes. toolchain (Go): upgrade to 1.27.4 or later. Junglewise finds every place you run it, drafts the upgrade and applies it once you approve.

**How is CVE-2026-97041 attacked?** It is attacked with local access, in a software library.

**Am I affected by CVE-2026-97041?** Check whether you run Go compiler and linker (Go) or toolchain (Go) at an affected version. Junglewise does that check for you around the clock: connect your code, cloud and domains, and it matches new vulnerabilities like this one against what you actually run and tells you when one reaches you.

## How to fix

- toolchain (Go): upgrade to 1.27.4 or later

  ```sh
  go get toolchain@v1.27.4
  ```


## Technical details

The Go compiler and linker failed to reject commas and "@" prefixes in cgo directives ("//go:cgo_import_dynamic", "//go:cgo_export_dynamic", "//go:cgo_export_static", "//go:cgo_import_static", "//go:cgo_dynamic_linker"), which are passed to the external linker. When combined with how the linker constructs flags like "-Wl,--dynamic-linker,<path>", a comma or leading "@" in these directives could split the argument into multiple linker flags or response file references, injecting arbitrary compiler and linker options. Additionally, the two-argument form of "cgo_import_dynamic" could overwrite symbols previously marked for cgo export, further subverting intended symbol handling.

## Affected products

- Go Go compiler and linker

## Identifiers

- CVE-2026-97041
- GO-2026-6850

## Timeline

- 2026-11-11: disclosed

## References

- [https://pkg.go.dev/](https://pkg.go.dev/)
- [https://go.dev/cl/862154](https://go.dev/cl/862154)

## Related threats

- [Go cgo LDFLAGS validation bypass in cmd/cgo](https://junglewise.ai/threats/cve-2026-97043-building-a-malicious-package-that-uses-cgo-could-bypass-cgo)
- [Go compiler unsafe library path validation in Windows linker](https://junglewise.ai/threats/cve-2026-97042-building-a-malicious-package-that-uses-go-cgo-import-dynamic-or)
- [Go linker arbitrary flag injection via crafted .syso files](https://junglewise.ai/threats/cve-2026-97040-building-a-package-containing-a-crafted-syso-file-could-bypass)
- [Go command unsafe pkg-config flag handling in cgo](https://junglewise.ai/threats/cve-2026-97039-building-a-malicious-package-that-uses-cgo-pkg-config-directives)
- [Go linker code injection via malicious package compilation](https://junglewise.ai/threats/cve-2026-97038-building-a-malicious-package-containing-syso-files-or-cgo-linker)
