Skip to main content

Go Toolchain EUVDEUVD-2026-95417

| CVE-2026-94444 HIGH
Improper Validation of Integrity Check Value (CWE-354)
7.8
CVSS 3.1 · Vendor
View

Attack ChainAIDerived

Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain

  1. Access
    Developer builds attacker's malicious Go project
  2. Delivery
    Build connects to attacker-controlled GOMODPROXY
  3. Exploit
    Proxy serves arbitrary module for bogus golang.org/fips140
  4. Execution
    Toolchain fails to verify substituted module
  5. Impact
    Attacker-controlled code executes in build

Vulnerability Assessment

Weakness
CWE
OWASP Top 10:2025
A08:2025 - Software or Data Integrity Failures
ASVS 5.0
V15 - Secure Coding and Architecture Integrity verification
Exploitation Conditions

Exploitation requires a developer to (1) operate inside an attacker-crafted malicious Go project that defines a bogus golang.org/fips140 module, AND (2) choose to connect their build to an attacker-controlled GOMODPROXY. Both are attacker-supplied preconditions combined with explicit user action (running go module/build commands against the malicious proxy), reflected by UI:R and AV:L. Limiting factors: it is a local build-time vulnerability, not a remotely-reachable network service; it needs active developer participation and a non-default, attacker-chosen module proxy; and it affects only the Go toolchain versions below 1.26.9 and 1.27.0-1.27.1, with 1.26.9 and 1.27.2 fixed.

Impact

Signals are consistent and point to a real but conditional, not widespread, risk. The CVSS 3.1 vector (AV:L/AC:L/PR:N/UI:R/S:U, C:H/I:H/A:H, 7.8 HIGH) describes a local, build-time integrity bypass requiring user interaction, not a remotely-reachable service flaw - despite PR:N, exploitation is gated by UI:R (the developer must build inside an attacker-crafted project AND choose to connect to a malicious GOMODPROXY). EPSS is very low (0.11%, 1st percentile) and the CVE is NOT in CISA KEV, and no public exploit was identified at time of analysis - all three low-exploitation signals agree with the high UI/local prerequisites, so this is a legitimately-rated HIGH that is nonetheless low on real-world mass-exploitation probability. The CWE-354 (improper validation of integrity check) classification and the fix (unpacking the trusted ziphash for the bundled golang.org/fips140 module so the toolchain can verify it) confirm the core issue is module substitution enabling attacker-controlled code to enter the build, which justifies the C:H/I:H/A:H impact. NOTE A CONFLICT: the input Tag labels this 'Information Disclosure', but the description and CWE-354 describe a supply-chain integrity/substitution flaw leading to code execution during build, not disclosure - the tag appears mislabeled and should not drive triage. No SSVC decision data was provided in the input.

Exploit ScenarioDerived

A developer is lured into cloning and building a malicious Go project that defines a bogus golang.org/fips140 module and points the build at an attacker-controlled GOMODPROXY. When the developer runs a go build/module operation and connects to that proxy, the toolchain accepts an arbitrary module served in place of the trusted bundled golang.org/fips140, allowing the attacker's code into the build environment. No public exploit code was identified at time of analysis.

This Week Schedule remediation this week. Why: HIGH severity (CVSS 7.0-8.9).
Patch available 0.1% exploitation probability (EPSS)

Get an e-mail when this CVE is exploited, patched or re-scored. Free account.

Alert me

AnalysisAIv2 – Oct 15, 2026

Go toolchain (cmd/go) releases before 1.26.9 and 1.27.0 through 1.27.1 can be induced to substitute an attacker-controlled module in place of the bundled golang.org/fips140 dependency when a developer builds a project that ships a bogus golang.org/fips140 definition and connects the build to an attacker-operated GOMODPROXY. Successful abuse yields high confidentiality, integrity, and availability impact within the build environment because the toolchain fails to properly validate the module's integrity check value (CWE-354), so untrusted module content is accepted in place of the trusted bundled copy. Exploitation is conditional rather than widespread: it requires both an attacker-crafted project and explicit developer action to use a non-default, attacker-chosen proxy (CVSS:3.1/AV:L/AC:L/PR:N/UI:R/S:U/C:H/I:H/A:H, base 7.8), and no public exploit code or confirmed active exploitation has been identified at time of analysis, with EPSS at roughly 0.11% (1st percentile). Vendor patches are available in Go 1.26.9 and 1.27.2.

Earlier versions of this analysis (1)
v1 Oct 08, 2026 - 20:21

Checksum verification in the Go toolchain (cmd/go) can be bypassed for the special bundled module path golang.org/fips140, allowing an attacker-controlled module proxy to substitute arbitrary content for that module. Exploitation requires two conditions to align: the developer must build inside a malicious Go project that declares a bogus golang.org/fips140 reference, and that developer must deliberately point their build at an attacker-operated GOPROXY; builds using the default proxy.golang.org with the standard checksum database are not exposed. There is no CVSS score, EPSS estimate, KEV listing, or public proof-of-concept in the source data, so no public exploit is identified at time of analysis; our independent assessment rates it CVSS:3.1/AV:L/AC:H/PR:N/UI:R/S:U/C:H/I:H/A:H, i.e. a high-complexity, local developer-environment issue that is unauthenticated but requires user interaction.

RemediationAI

The primary fix is to upgrade the Go toolchain to 1.26.9 or 1.27.2 (or a later release on either line); these versions rebuild the GOMODCACHE entry for the bundled golang.org/fips140 module from the trusted ziphash so that module substitution is detected. Vendor fix references include https://go.dev/cl/840685 and the advisory at https://pkg.go.dev/vuln/GO-2026-6601, with the announcement thread at https://groups.google.com/g/golang-announce/c/U2fTuyDJznI. If upgrading immediately is not possible, compensating controls target the two required preconditions: do not connect builds to untrusted or third-party module proxies (pin GOPROXY to a trusted internal proxy or set GOPROXY=off with a pre-populated module cache, though GOPROXY=off requires dependencies to be fetched and staged manually and will break builds that resolve new modules), avoid building or running go commands inside untrusted project trees, and prefer vendored dependencies with -mod=vendor so module fetches are skipped entirely - noting that vendoring only covers already-listed dependencies and will not protect against a malicious bundled-module override in every path. Running builds in a network-restricted sandbox with no outbound access to arbitrary module proxies reduces exposure but limits normal dependency resolution; none of these controls is a substitute for patching to 1.26.9 or 1.27.2. Go 1.26.9 and 1.27.2 are the exact fix versions confirmed in the supplied data.

Affected VersionsENISA

cmd/go 1.27.0-0 <1.27.2
cmd/go 0 <1.26.9

Affected Packages

go toolchain fix: 1.26.9, 1.27.2
euvd cmd_go fix: 1.26.9, 1.27.2

Source: OSV (Open Source Vulnerabilities)

Affects your stack

Affects 2 packages in go, euvd

Checking this CVE against your own stacks and servers is part of the Basic plan and up.

Technical ContextAI · show details

The affected component is cmd/go, the Go command-line build tool that resolves, downloads, verifies, and caches modules. Go modules are fetched through the module proxy protocol (GOPROXY) and validated using cryptographic hashes recorded in go.sum and the checksum database (GOSUMDB); the module zip is stored in GOMODCACHE with a corresponding ziphash used for verification. golang.org/fips140 is a module bundled with the toolchain itself, and it is expected to be used directly from that trusted bundled copy rather than resolved like an ordinary dependency. CWE-354 (Improper Validation of Integrity Check Value) is the root cause class here: the toolchain did not correctly unpack and verify the trusted ziphash for the bundled golang.org/fips140 module, so a malicious project defining a bogus golang.org/fips140 plus an attacker-controlled GOMODPROXY could cause an arbitrary module to be served and accepted in its place. The fix constructs the GOMODCACHE entry for the bundled module from the trusted ziphash so that the toolchain can verify it, closing the substitution path. CPE-style identification from the EUVD data places the flaw in cmd/go across the module-resolution code paths used by all normal go build, go get, and go mod workflows.

Know when Golang gets its next vulnerability

  • Watch products and get an email when something new is published
  • Check this CVE against your own stack and servers
  • Exploit and PoC references, threat intelligence from 22 sources

No credit card · 7-day full trial

Severity by source

Vendor (CNA) PRIMARY 7.8 HIGH
AV:L/AC:L/PR:N/UI:R/S:U/C:H/I:H/A:H
vuln.today AI 7.8 HIGH

Local build-time substitution (AV:L) needing no attacker privileges (PR:N) but requiring the developer to build the malicious project and connect to the rogue proxy (UI:R), yielding full code-execution impact (C/I/A:H).

3.1 AV:L/AC:L/PR:N/UI:R/S:U/C:H/I:H/A:H
4.0 AV:L/AC:L/AT:N/PR:N/UI:A/VC:H/VI:H/VA:H/SC:N/SI:N/SA:N

Primary rating from Vendor (CNA).

CVSS VectorVendor

Attack Vector
Local
Attack Complexity
Low
Privileges Required
None
User Interaction
Required
Scope
Unchanged
Confidentiality
High
Integrity
High
Availability
High

Lifecycle Timeline

2
CVSS changed
Oct 15, 2026 - 16:22 NVD
7.8 (HIGH)
CVE Published
Oct 08, 2026 - 19:26 oss-security
CRITICAL

Description PRE-NVD

Disclosed via oss-security. NVD scoring and full description are pending.

Executive ViewAI

Why It Matters

The Go toolchain (cmd/go) in releases before 1.26.9 and in 1.27.0 through 1.27.1 can be induced to substitute an attacker-controlled module for its bundled golang.org/fips140 dependency, allowing untrusted code to be accepted into a build. Exposure is narrow: it requires a developer to build an attacker-crafted project while deliberately pointing the build at an attacker-operated, non-default module proxy, and no public exploit code or confirmed active exploitation has been identified at time of analysis (EPSS ~0.1%). Leadership should care because the flaw sits in the build pipeline itself - the same environment that produces the software artifacts the organization ships and trusts - so a successful abuse could silently undermine both the integrity and the FIPS-related assurance of anything compiled with an affected toolchain.

Business Impact: Medium
Compensating Controls

Apply vendor patch.

Threat Intelligence Overview

EPSS Score
0.1%
Top 99% exploitable
Prevalence
High
cmd/go is the core Go toolchain, used across most Go development environments
Data Quality
5 sources
Confidence: Medium

How this decision was reached

The engine reads each signal below and applies a fixed list of rules from top to bottom. The first rule that matches sets the recommended action – like a statement, every line is shown.

SignalValue
Severity HIGH
CISA KEV No
Public POC No
EPSS 0.1%
Patch available Yes
Active threat No
Deciding rule
HIGH severity (CVSS 7.0-8.9)
What every action level means
Emergency Immediate action required. Criteria: CRITICAL + in CISA KEV (actively exploited) without patch, OR CRITICAL + EPSS > 30% without patch, OR CRITICAL + active threat signals without patch.
Act Now Prioritize within 24-48h. Criteria: in KEV with patch available, OR CRITICAL + public POC, OR HIGH + EPSS > 10%, OR CRITICAL + active threat, OR any CRITICAL severity.
This Week Schedule remediation this week. Criteria: HIGH severity (CVSS 7.0-8.9). Patch within normal change window.
This Month Plan within 30 days. Criteria: MEDIUM severity (CVSS 4.0-6.9), lower exploitation probability. Include in regular patch cycle.
Monitor Track and reassess. Criteria: LOW severity (CVSS 0.1-3.9), minimal exploitation risk. No immediate action needed.

SSVC AssessmentENISA

SSVC Decision· derived
Defer
Exploitation· derived
None
System Exposure· derived
Small
Automatable· derived
No
Human Impact
Medium

Priority Score

39
Low Medium High Critical
KEV: 0
EPSS: 0
CVSS: +39
PoC: 0
Weaponized: 0
Threat intel: 0
Gov advisory: 0

Attack Technique

Information disclosure occurs when an application unintentionally exposes sensitive data that aids attackers in reconnaissance or directly compromises security.

More in Golang

View all
CVE-2023-44487 HIGH POC
7.5 Oct 10

Denial of service against HTTP/2 server implementations allows remote unauthenticated attackers to exhaust server resour

CVE-2023-48795 MEDIUM POC
5.9 Dec 18

The SSH transport protocol with certain OpenSSH extensions, found in OpenSSH before 9.6 and other products, allows remot

CVE-2016-5386 HIGH
8.1 Jul 19

The net/http package in Go through 1.6 does not attempt to address RFC 3875 section 4.1.18 namespace conflicts and there

CVE-2026-24897 CRITICAL POC
10.0 Jan 28

Erugo file-sharing platform up to version 0.2.14 has a CVSS 10.0 path traversal allowing authenticated users to read any

CVE-2025-68121 CRITICAL POC
10.0 Feb 05

Critical certificate validation bypass in Go crypto/tls during session resumption. If ClientCAs or RootCAs fields are mu

CVE-2022-50926 CRITICAL POC
9.8 Jan 13

WAGO PFC200 G2 PLC (firmware affected) allows privilege escalation through cookie manipulation. Users can modify cookie

CVE-2026-28408 CRITICAL POC
9.8 Feb 27

Authentication bypass in WeGIA charitable institution management system before 3.6.5. The adicionar_tipo_docs_atendido.p

CVE-2026-24895 CRITICAL POC
9.8 Feb 12

CGI path splitting vulnerability in FrankenPHP before 1.11.2 — Unicode characters bypass path validation during CGI proc

CVE-2019-14809 CRITICAL POC
9.8 Aug 13

net/url in Go before 1.11.13 and 1.12.x before 1.12.8 mishandles malformed hosts in URLs, leading to an authorization by

CVE-2025-66719 CRITICAL POC
9.1 Jan 23

Free5gc NRF 1.4.0 has an authorization bypass in access token generation that allows authenticated users to request toke

CVE-2022-50909 HIGH POC
8.8 Jan 13

Algo 8028 Control Panel version 3.3.3 contains a command injection vulnerability in the fm-data.lua endpoint that allows

CVE-2026-82410 HIGH POC
8.7 Sep 16

Denial of service in PocketBase versions prior to 0.22.48 (0.22.x branch) and 0.23.0 through 0.39.6 (0.23.0+ branch) all

This site uses cookies essential for authentication and security. No tracking or analytics cookies are used. Privacy Policy