Skip to main content

golang.org/x/text CVE-2026-56851

| EUVDEUVD-2026-94532 HIGH
Out-of-bounds Write (CWE-787)
2026-10-07 Go GHSA-gx9w-9qq8-m485
7.5
CVSS 3.1 · Vendor: Go
View

Attack ChainAIDerived

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

  1. Access
    Reach network service accepting nickname input
  2. Exploit
    Submit crafted string to precis transform
  3. Execution
    Trigger out-of-bounds slice panic
  4. Impact
    Process/goroutine crash denies service

Vulnerability Assessment

Weakness
CWE
ASVS 5.0
V15 - Secure Coding and Architecture Bounds checking, write limits
MITRE ATT&CK

2 techniques across 2 tactics: Execution, Privilege Escalation

The technique list with ATT&CK links and the kill-chain view is part of the Basic plan and up.

Exploitation Conditions

Exploitability requires that the target application actually invoke the golang.org/x/text/secure/precis Nickname profile to transform/enforce attacker-controlled input (e.g., usernames or nicknames) into a short/undersized destination buffer; the panic occurs only on this specific code path. Applications that merely vendor golang.org/x/text without using the precis Nickname profile on untrusted input are not affected. Limiting factors: impact is denial of service only (a Go panic), there is no confidentiality or integrity impact, and the affected versions are golang.org/x/text/secure/precis < 0.41.0 (fixed in 0.41.0). No authentication or user interaction is required where the vulnerable path is reachable (PR:N/UI:N).

Impact

The CVSS 3.1 vector (AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H, base 7.5) describes a network-reachable, low-complexity, unauthenticated flaw with impact confined to availability only - consistent with CWE-787 manifesting in Go as a runtime panic (out-of-bounds slice) rather than exploitable memory corruption. This is a denial-of-service issue, NOT a code-execution or data-disclosure one, so the 'HIGH' severity reflects crash/availability risk only. Exploitation status: no public exploit identified at time of analysis - the input provides no KEV listing and no POC flag. EPSS is not provided, so probabilistic exploitation likelihood cannot be stated. The signals are internally consistent (network DoS, no confidentiality/integrity impact) with no CVSS-vs-description conflict. Real-world priority is moderate and strongly dependent on reachability: it is a real risk only for services that pass untrusted input through the precis Nickname profile; absent that code path, the library's mere presence is not exploitable. Note the tags 'Buffer Overflow'/'Memory Corruption' overstate the technical nature - in Go this is a bounds-checked panic (abort), not attacker-controlled memory corruption.

Exploit ScenarioDerived

An attacker sends a crafted string (e.g., a username/nickname field) to a network service that normalizes it using golang.org/x/text/secure/precis Nickname profile into an undersized destination buffer. The transformation triggers an out-of-bounds slice panic, crashing the goroutine or process and causing a denial of service. No public exploit code has been identified, and the attack is unauthenticated and low-complexity per the CVSS vector.

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

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

Alert me

AnalysisAIv1 – Oct 08, 2026

Denial of service via out-of-bounds slice access in the Nickname profile of golang.org/x/text/secure/precis (all versions before 0.41.0), where transforming crafted input into a short destination buffer triggers a Go runtime panic. The flaw is remotely reachable and unauthenticated (CVSS 3.1 AV:N/AC:L/PR:N/UI:N, base 7.5), but impact is confined to availability (C:N/I:N/A:H) because Go's memory-safe runtime converts the invalid slice access into a panic rather than exploitable memory corruption. Applications are only exposed if they actually invoke the precis Nickname profile on attacker-controlled strings such as usernames or nicknames; projects that merely depend on x/text without hitting that code path are unaffected. No public exploit identified at time of analysis, and vendor-released patch: golang.org/x/text 0.41.0.

RemediationAI

Upgrade to the vendor-released fixed version: golang.org/x/text v0.41.0 (run go get golang.org/x/text@v0.41.0 in each affected module, then go mod tidy and rebuild; use govulncheck to confirm no remaining reachable call paths). Verify that the rebuilt binary actually resolves the patched module version rather than an older one pinned by a transitive dependency or a vendor directory, and roll the new image to all instances that process nicknames. If immediate upgrade is not possible, restrictive compensating controls include enforcing a hard maximum length on any input passed to the precis Nickname profile - rejecting nicknames longer than the destination buffer can hold - and appending an ASCII-only fast path so untrusted strings never reach the transformation when they exceed the safe bound; the trade-off is that legitimately long or non-ASCII nicknames are rejected or degraded, causing user-visible validation failures. Additionally, wrap the transformation call in a deferred recover() and return a validation error instead of propagating the panic, which converts the crash into a handled failure but is a band-aid that still aborts the current request and must not be treated as a substitute for patching. Where the Nickname profile is not required for the application's semantics, avoid applying it to untrusted input entirely. Advisory references: https://pkg.go.dev/vuln/GO-2026-6629, https://go.dev/issue/80112, and the fix at https://go.dev/cl/793360.

Affected VersionsENISA

golang.org/x/text/secure/precis 0 <0.41.0

Affected Packages

go golang.org/x/text fix: 0.41.0
euvd golang_org_x_text_secure_precis fix: 0.41.0

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

golang.org/x/text/secure/precis implements the IETF PRECIS framework (RFC 8264/8265/8266) for preparation, enforcement, and comparison of internationalized strings; the Nickname profile uses it to normalize and validate user-facing identifiers such as nicknames and usernames. The underlying defect is classified as CWE-787 (out-of-bounds write), and the affected component is recorded by CPE as cpe:2.3:a:golang.org/x/text:golang.org/x/text/secure/precis, i.e. the secure/precis package distributed as part of the golang.org/x/text module. Because the package's transformation path writes into a caller-supplied or internally sized destination buffer that can be shorter than the transformed output of crafted input, an attacker-supplied string can drive an index past the buffer's bounds. In Go this invalid write/index does not translate into arbitrary memory corruption - the runtime detects the violation and panics with an out-of-bounds slice error, which is why the assessed vector shows no confidentiality or integrity impact and an availability-only (A:H) outcome. The practical effect on a server is a crash or abrupt termination of the goroutine/process handling the request, i.e. a reliable per-request DoS primitive wherever the Nickname profile is applied to untrusted input. The upstream fix is tracked from the Go issue and CL references (https://go.dev/issue/80112, https://go.dev/cl/793360) and is published in the Go vulnerability database as GO-2026-6629. Reported by Go, with patch available from vendor and a fixed version of 0.41.0 per EUVD (EUVD-2026-94532).

Know when Golang Org X Text Secure Precis 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 (Go) PRIMARY 7.5 HIGH
AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H
vuln.today AI 7.5 HIGH

Untrusted input reaches the precis transform remotely without auth (AV:N/PR:N/UI:N/AC:L); the out-of-bounds panic is a crash, so A:H with C:N/I:N.

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

Primary rating from Vendor (Go).

CVSS VectorVendor: Go

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

Lifecycle Timeline

4
CVSS changed
Oct 08, 2026 - 14:22 NVD
7.5 (HIGH)
Patch available
Oct 07, 2026 - 19:02 EUVD
CVE Published
Oct 07, 2026 - 17:46 cve.org
HIGH 7.5
CVE Published
Oct 07, 2026 - 17:46 cve.org
UNKNOWN (no severity yet)

DescriptionCVE.org

The Nickname profile can panic with an out-of-bounds slice error when transforming crafted input into a short destination buffer.

Executive ViewAI

Why It Matters

A denial-of-service flaw in golang.org/x/text's Nickname profile can cause Go applications that process attacker-controlled nicknames or usernames to panic and crash, disrupting service for users of those applications. The issue is remotely reachable and unauthenticated, but impact is limited to availability with no data exposure or code execution. No public exploit identified at time of analysis, and leadership should prioritize upgrading affected services to golang.org/x/text 0.41.0 to prevent avoidable outages.

Business Impact: High
Compensating Controls

Apply vendor patch.

Threat Intelligence Overview

EPSS Score
0.2%
Top 96% exploitable
Prevalence
Medium
golang.org/x/text is widely used, but the precis Nickname path is a specific sub-feature
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.2%
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
Scheduled
Exploitation
None
System Exposure· derived
Open
Automatable
Yes
Human Impact
High
Technical Impact
Partial

Priority Score

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

Attack Technique

A buffer overflow occurs when a program writes more data to a memory buffer than it was allocated to hold, causing the excess data to spill into adjacent memory regions.

Memory corruption occurs when a program writes data beyond the boundaries of allocated memory regions or accesses memory in unintended ways, violating the integrity of the process's address space.

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