CVE-2026-56865: 
Go vulnerability analysis and mitigation

Overview

CVE-2026-56865 is a cryptographic signature verification bypass vulnerability in the Go toolchain's module proxy (cmd/go) and the golang.org/x/mod/sumdb/tlog package. A malicious GOPROXY can forge up to two sumdb (GOSUMDB) transparency log tiles, allowing attacker-controlled module content to be persisted to a developer's local Go module cache without detection. Affected versions include cmd/go before 1.25.13, 1.26.0–1.26.6, and 1.27.0-0–1.27.0-rc.3, as well as golang.org/x/mod/sumdb/tlog before 0.40.0. It carries a CVSS v3.1 base score of 8.4 (High) (Feedly, Go Advisory).

Technical details

The root cause is improper verification of cryptographic signatures (CWE-347): the Go toolchain failed to correctly verify sumdb tiles against their parent tiles in the transparency log, allowing a malicious GOPROXY to forge up to two tiles and serve them as legitimate. An attacker controlling a GOPROXY endpoint can craft forged tile responses that pass the incomplete verification checks, causing the go command to accept and cache malicious module content as if it were verified by GOSUMDB. The attack vector is local (the developer's build environment must be configured to use the malicious proxy), requires no privileges, and no user interaction. Fixes were applied in Go CLs 814960 and 815020, which enforce correct parent-tile verification for all tiles (Go Issue, Go Advisory).

Impact

A successful attack allows an adversary controlling a GOPROXY to inject malicious code into a developer's local Go module cache during routine dependency management operations (e.g., go mod tidy, go get). Because the forged tiles bypass GOSUMDB transparency log verification, the malicious module content cannot be detected by standard integrity checks, meaning developers and CI/CD pipelines may unknowingly build and ship applications containing attacker-controlled code. This creates high confidentiality, integrity, and availability risk across any software supply chain relying on the compromised Go modules (Feedly, Go Advisory).

Exploitability

There is no public proof-of-concept exploit and no evidence of in-the-wild exploitation as of the time of disclosure (Feedly). The EPSS score is approximately 0.123%, reflecting low near-term exploitation probability. The vulnerability is not listed in the CISA Known Exploited Vulnerabilities (KEV) catalog. Exploitation requires an attacker to control or compromise a GOPROXY server that a target developer or build system is configured to use, limiting the attack surface to supply chain scenarios (Go Advisory, OSV).

Exploitation steps

  1. Set up a malicious GOPROXY: The attacker deploys a rogue Go module proxy server and positions it as the GOPROXY for a target developer or CI/CD environment (e.g., via network interception, DNS poisoning, or social engineering to change GOPROXY environment variable).
  2. Identify a target module: The attacker selects a Go module that the victim project depends on and prepares a malicious version with backdoored or weaponized code.
  3. Forge sumdb tiles: Exploiting the incomplete tile verification logic, the attacker crafts up to two forged sumdb transparency log tiles that appear valid to the vulnerable Go toolchain, bypassing the GOSUMDB integrity check.
  4. Serve malicious module content: When the victim runs go mod tidy, go get, or a similar command, the rogue proxy serves the malicious module alongside the forged tiles; the Go toolchain accepts and caches the content without detecting the forgery.
  5. Achieve code execution: The malicious module is incorporated into the victim's build, resulting in attacker-controlled code being compiled into and shipped with the target application (Go Issue, Go Advisory).

Indicators of compromise

  • Network: Unexpected or unauthorized GOPROXY endpoints in environment variables (GOPROXY) or Go configuration; outbound connections to unfamiliar proxy servers during go mod operations.
  • File System: Presence of unexpected or modified entries in the local Go module cache ($GOPATH/pkg/mod/cache); go.sum or go.work.sum files containing hashes that do not match known-good values from the official sum database.
  • Logs: Build or CI/CD logs showing module downloads from non-standard or unexpected proxy URLs; errors or anomalies in sumdb tile verification during go mod commands.
  • Process: Unusual behavior or network activity from applications built with recently fetched Go modules; unexpected changes in compiled binary behavior after dependency updates.

To check for compromise, run: rm -r go.sum go.work.sum vendor/ && go mod tidy and verify that all module hashes resolve correctly against the official GOSUMDB (Feedly, Go Advisory).

Mitigation and workarounds

Update the Go toolchain to a patched version: cmd/go 1.25.13 or later, 1.26.6 or later, or 1.27.0-rc.3 or later; update golang.org/x/mod to version 0.40.0 or later. To check for and remediate potential compromise, remove cached module data and re-verify dependencies: rm -r go.sum go.work.sum vendor/ && go mod tidy. Additionally, ensure GOPROXY and GONOSUMCHECK environment variables are set to trusted values, and avoid using untrusted or third-party proxy servers (Go Advisory, golang-announce).

Community reactions

The Go team disclosed the vulnerability via the golang-announce mailing list and published a detailed advisory on the Go vulnerability database. SUSE issued multiple security updates (SUSE-SU-2026:3640-1, SUSE-SU-2026:3799-1, SUSE-SU-2026:3815-1, SUSE-SU-2026:3830-1) addressing the issue in their Go packages. OpenSUSE and Yocto Project security lists also published advisories. Tenable and Qualys added detection plugins for the vulnerability. The issue was also discussed on the oss-security mailing list (golang-announce, SUSE Advisory, oss-sec).

Additional resources

Linux Distribution fix status

Fix availability across major Linux distributions and their releases.

Debian

Affected

bookworm

golang-1.19

Affected

sid

golang-1.27: 1.27~rc3-1

Fixed

trixie

golang-1.24

Affected

Ubuntu

Unknown

bionic (esm-apps)

golang-1.8

Unknown

bionic (esm-infra)

golang-1.10

Unknown

devel

golang-1.24

Unknown

focal (esm-apps)

golang-1.16

Unknown

focal (esm-infra)

golang-1.13

Unknown

jammy

golang-1.13

Unknown

jammy (esm-apps)

golang-1.13

Unknown

noble

golang-1.21

Unknown

RHEL / CentOS

Affected

RHEL 8

Not Affected

Source: This report was generated using AI

Related Go vulnerabilities:

CVE ID

Severity

Score

Technologies

Component name

CISA KEV exploit

Has fix

Published date

CVE-2026-56865HIGH8.4
  • Go logoGo
  • dapr-operator-1.17
NoYesAug 13, 2026
CVE-2026-56864HIGH7.5
  • Go logoGo
  • trivy
NoYesAug 13, 2026
CVE-2026-56862HIGH7.5
  • Go logoGo
  • hcloud
NoYesAug 13, 2026
CVE-2026-56859HIGH7.5
  • Go logoGo
  • custom-pod-autoscaler-operator-fips
NoYesAug 13, 2026
CVE-2026-56860MEDIUM5.9
  • Go logoGo
  • x509-certificate-exporter-fips
NoYesAug 13, 2026

Free Vulnerability Assessment

Benchmark your Cloud Security Posture

Evaluate your cloud security practices across 9 security domains to benchmark your risk level and identify gaps in your defenses.

Request assessment

Get a personalized demo

Ready to see Wiz in action?

"Best User Experience I have ever seen, provides full visibility to cloud workloads."
David EstlickCISO
"Wiz provides a single pane of glass to see what is going on in our cloud environments."
Adam FletcherChief Security Officer
"We know that if Wiz identifies something as critical, it actually is."
Greg PoniatowskiHead of Threat and Vulnerability Management