Safeguard
Vulnerability Analysis•

CVE-2026-27143: Critical Go Compiler Bounds Bug, Fixed in 1.25.9

CVE-2026-27143 is a Go compiler bug where loop arithmetic skips overflow checks, risking memory corruption. Rebuild with Go 1.25.9 or 1.26.2.

Safeguard Security Team
3 min read

CVE-2026-27143 is a critical (CVSS 9.8) bug in the Go compiler, cmd/compile. Arithmetic over loop induction variables was not checked for underflow or overflow, so invalid indexing could occur at runtime. Rebuild with Go 1.25.9 or 1.26.2, because the fix lives in the toolchain, not in your code.

What's affected

The Go vulnerability database lists cmd/compile before go1.25.9, and from go1.26.0-0 before go1.26.2, as affected. The component is the compiler, so what matters is the Go version that built your binary.

Fixed toolchains are go1.25.9 and go1.26.2. The Go project credits Jakub Ciolek for the report.

How to check if you're exposed

Check your toolchain, and the toolchain recorded in built binaries:

go version
go version -m ./yourbinary

Any binary built with a Go version below 1.25.9, or a 1.26 version below 1.26.2, was compiled by an affected compiler. CI images, base images and developer machines can each pin a different version, so check all three.

What to do now

  1. Update your Go toolchain to 1.25.9 or 1.26.2 or later.
  2. Rebuild and redeploy every binary built with an older toolchain, since upgrading the compiler does not change binaries already built.
  3. Update CI images and container build stages to pin the fixed version.
  4. Use go version -m on shipped binaries to find ones still built with an affected release.
  5. Add a check to your pipeline that fails the build when the toolchain falls below your minimum.

Why it matters

The record gives no CWE for this CVE. The Go advisory describes it as missing overflow checks on arithmetic in loops, which let the compiler allow invalid indexing at runtime and so potentially memory corruption.

Compiler bugs are awkward for dependency scanning because the vulnerable code is not in your dependencies. It is in the tool that builds them. That makes an inventory of build toolchains, along with libraries, part of knowing your exposure. The record does not mark this CVE as known exploited.

Try it yourself

Click through it at your own pace, or open it full screen.

Quick check

Do I need to change my source code?

No. The fix is in the compiler, so rebuild with a fixed Go version.

Sources

Last reviewed: 19 October 2026.

Never miss an update

Weekly insights on software supply chain security, delivered to your inbox.

Self-healing security runs on Safeguard.

Your first fix PR is minutes away.

No sales call required, even your agent can complete the purchase over MCP.