CVE-2026-94447:
Go Análisis y mitigación de vulnerabilidades
Vista general
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).
Técnicas
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.
Impacto
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).
Explotabilidad
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).
Pasos de explotación
- Prepare malicious project: The attacker creates or compromises a Go project repository and inserts a forged
golang.org/toolchainentry into the project'sgo.sumfile, with a checksum matching a malicious toolchain binary the attacker controls. - Operate a malicious GOMODPROXY: The attacker sets up a rogue Go module proxy server that serves the malicious toolchain binary when
golang.org/toolchainis requested, with the checksum matching the forgedgo.sumentry. - Social engineer the victim: The attacker convinces a developer to clone or open the malicious project and configure their
GOMODPROXYenvironment variable to point to the attacker's proxy (e.g., via project documentation,.envfiles, orGOENVsettings). - Trigger toolchain download: The victim runs a
gocommand (e.g.,go build,go mod tidy) inside the malicious project. The vulnerablecmd/goresolvesgolang.org/toolchain, consults the forgedgo.sumentry, and fetches the malicious binary from the attacker's proxy without network-based checksum validation. - 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).
Indicadores de compromiso
- File System: Unexpected or recently modified
go.sumentries forgolang.org/toolchainthat 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
GOMODPROXYendpoints) duringgocommand execution; absence of expected connections tosum.golang.orgfor toolchain checksum verification. - Logs: Go command output or build logs showing toolchain downloads from unexpected proxy URLs;
GOMODPROXYenvironment 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
gotool processes (Red Hat Bugzilla, GitHub Advisory).
Mitigación y soluciones alternativas
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).
Reacciones de la comunidad
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.
Recursos adicionales
Estado de corrección de la distribución Linux
Arreglar la disponibilidad en las principales distribuciones de Linux y sus lanzamientos.
bookworm
golang-1.19
sid
golang-1.27: 1.27.2-1
trixie
golang-1.24
bionic (esm-apps)
golang-1.8
bionic (esm-infra)
golang-1.10
devel
golang-1.26
focal (esm-apps)
golang-1.16
focal (esm-infra)
golang-1.13
jammy
golang-1.13
jammy (esm-apps)
golang-1.13
noble
golang-1.21
OpenShift
openshift4/ose-operator-sdk-rhel8
RHEL 8
go-toolset:rhel8/golang.src
RHEL 9
golang.src
RHEL 10
golang.src
Fuente: Este informe se generó utilizando IA
Relacionado Go Vulnerabilidades:
Evaluación gratuita de vulnerabilidades
Compare su postura de seguridad en la nube
Evalúe sus prácticas de seguridad en la nube en 9 dominios de seguridad para comparar su nivel de riesgo e identificar brechas en sus defensas.
Recursos adicionales de Wiz
Obtén una demostración personalizada
¿Listo para ver a Wiz en acción?
"La mejor experiencia de usuario que he visto en mi vida, proporciona una visibilidad completa de las cargas de trabajo en la nube."
"Wiz proporciona un panel único para ver lo que ocurre en nuestros entornos en la nube."
"Sabemos que si Wiz identifica algo como crítico, en realidad lo es."