PHP2Shell: Read our blog on the critical RCE vulnerabilities affecting 70% of the Internet

CVE-2026-94447: 
Go vulnerability analysis and mitigation

Overview

CVE-2026-94447 is a checksum verification bypass vulnerability in the Go toolchain's cmd/go component, classified as CWE-354 (Improper Validation of Integrity Check Value). A user operating inside a malicious Go project that defines a bogus golang.org/toolchain entry in go.sum and uses a malicious GOMODPROXY can bypass the intended checksum verification, potentially allowing a tampered toolchain to be installed. Affected versions include cmd/go before 1.26.9 and 1.27.0-0 through before 1.27.2. It was published on October 8, 2026, with patches released the same day. The CVSS v3.1 base score is 7.8 (High) (GitHub Advisory, Red Hat Bugzilla).

Technical details

The root cause is improper validation of integrity check values (CWE-354) in Go's module proxy and checksum verification logic. When cmd/go resolves the golang.org/toolchain module, it previously trusted a locally cached or proxy-supplied go.sum entry rather than always fetching the canonical checksum from the network. An attacker who controls a Go project's go.sum file (by inserting a bogus golang.org/toolchain entry) and also operates a malicious GOMODPROXY that the victim developer chooses to use can serve a tampered toolchain binary whose checksum matches the forged go.sum entry, bypassing integrity verification entirely. The fix enforces that golang.org/toolchain always fetches its checksum directly from the network, preventing local go.sum manipulation from overriding legitimate checksums (GitHub Advisory, Red Hat Bugzilla). The relevant Go issue and code change are tracked at go.dev/issue/81834 and go.dev/cl/840785.

Impact

Successful exploitation allows an attacker to deliver a malicious Go toolchain binary to a developer's machine, effectively achieving arbitrary code execution in the context of the user running go commands. This compromises confidentiality (attacker-controlled code runs in the user's context), integrity (build artifacts and the toolchain itself are tampered), and availability (the build environment can be disrupted or destroyed). Because the attack targets the developer's build environment, it can also affect downstream software supply chain integrity if compromised builds are distributed (Red Hat Bugzilla, GitHub Advisory).

Exploitability

There is no public proof-of-concept exploit and no evidence of in-the-wild exploitation as of the time of disclosure (GitHub Advisory). The EPSS score is approximately 0.126% (2nd percentile), indicating a low near-term exploitation probability. Exploitation requires user interaction (the victim must run go commands inside the malicious project) and the attacker must control both the project's go.sum file and a GOMODPROXY the victim chooses to use, making opportunistic exploitation unlikely. The vulnerability is not listed in the CISA Known Exploited Vulnerabilities catalog, and NVD's supplemental data confirms exploitation status as "none" (Red Hat Bugzilla).

Exploitation steps

  1. Prepare malicious project: The attacker creates or compromises a Go project repository and inserts a forged golang.org/toolchain entry into the project's go.sum file, with a checksum matching a malicious toolchain binary the attacker controls.
  2. Operate a malicious GOMODPROXY: The attacker sets up a rogue Go module proxy server that serves the malicious toolchain binary when golang.org/toolchain is requested, with the checksum matching the forged go.sum entry.
  3. Social engineer the victim: The attacker convinces a developer to clone or open the malicious project and configure their GOMODPROXY environment variable to point to the attacker's proxy (e.g., via project documentation, .env files, or GOENV settings).
  4. Trigger toolchain download: The victim runs a go command (e.g., go build, go mod tidy) inside the malicious project. The vulnerable cmd/go resolves golang.org/toolchain, consults the forged go.sum entry, and fetches the malicious binary from the attacker's proxy without network-based checksum validation.
  5. Achieve code execution: The malicious toolchain binary is installed and executed in the victim's environment, granting the attacker arbitrary code execution in the developer's user context (GitHub Advisory, Red Hat Bugzilla).

Indicators of compromise

  • File System: Unexpected or recently modified go.sum entries for golang.org/toolchain that do not match checksums from the official Go checksum database (sum.golang.org); unfamiliar toolchain binaries in $GOPATH/pkg/mod/golang.org/toolchain@* or the Go toolchain cache directory.
  • Network: Outbound connections from developer workstations to unknown or untrusted module proxy servers (non-standard GOMODPROXY endpoints) during go command execution; absence of expected connections to sum.golang.org for toolchain checksum verification.
  • Logs: Go command output or build logs showing toolchain downloads from unexpected proxy URLs; GOMODPROXY environment variable set to an untrusted or external server in shell history or CI/CD configuration files.
  • Process: Unexpected child processes spawned by the Go toolchain binary after installation; unusual network activity or file writes originating from go tool processes (Red Hat Bugzilla, GitHub Advisory).

Mitigation and workarounds

Upgrade the Go toolchain to version 1.26.9 or later (for the 1.26.x series) or 1.27.2 or later (for the 1.27.x series), which enforce network-based canonical checksum fetching for golang.org/toolchain (GitHub Advisory). As interim workarounds: restrict write access to go.sum files in shared or CI environments; configure GOMODPROXY to use only trusted, official proxy servers (e.g., https://proxy.golang.org); and avoid running go commands inside untrusted or third-party project directories. Red Hat has issued advisories (RHSA-2026:79715, RHSA-2026:79720) and SUSE has released updates (SUSE-SU-2026:4625-1, SUSE-SU-2026:4629-1) for affected distributions (Red Hat Bugzilla).

Community reactions

The vulnerability was announced via the official Go security mailing list at golang-announce and tracked in the Go vulnerability database as GO-2026-6602. Red Hat, SUSE, Mageia, and other Linux distributions issued security advisories and package updates promptly after disclosure. The vulnerability was also included in Microsoft's October 2026 Patch Tuesday coverage, which addressed over 1,400 flaws (BleepingComputer). Community reaction has been measured, given the relatively constrained exploitation preconditions and absence of active exploitation.

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.2-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.26

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

OpenShift

openshift4/ose-operator-sdk-rhel8

Affected

RHEL 8

go-toolset:rhel8/golang.src

Affected

RHEL 9

golang.src

Affected

RHEL 10

golang.src

Affected

Alpine

Fixed

edge

go: 1.27.2-r0

Fixed

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-94447HIGH7.8
  • Go logoGo
  • cluster-proportional-autoscaler
NoYesOct 08, 2026
CVE-2026-97032HIGH7.5
  • Go logoGo
  • gitlab-kas-19.2
NoYesOct 08, 2026
CVE-2026-97031HIGH7.5
  • Go logoGo
  • terraform-fips-1.13
NoYesOct 08, 2026
CVE-2026-97030MEDIUM6.1
  • Go logoGo
  • wait-for-port
NoYesOct 08, 2026
CVE-2026-94448MEDIUM6.1
  • Go logoGo
  • buildah-tests
NoYesOct 08, 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