Skip to main content

Go standard library EUVDEUVD-2026-95423

| CVE-2026-94440 HIGH
Allocation of Resources Without Limits or Throttling (CWE-770)
7.5
CVSS 3.1 · Vendor
View

Attack ChainAIDerived

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

  1. Access
    Send crafted multipart/form-data request
  2. Delivery
    Shrink remaining limit below 400 bytes
  3. Exploit
    Supply arbitrarily long line in part
  4. Execution
    Parser bypasses memory cap
  5. Impact
    Memory exhaustion crashes service

Vulnerability Assessment

Weakness
CWE
OWASP Top 10:2025
A06:2025 - Insecure Design
ASVS 5.0
V2 - Validation and Business Logic Resource allocation limits
MITRE ATT&CK

1 technique across 1 tactic: Impact

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

Exploitation Conditions

Exploitation requires that the target application parse untrusted multipart/form-data input using Go's mime/multipart (e.g., via net/http Request.ParseMultipartForm / Request.FormFile) on an affected runtime (Go <1.27.2 or <1.26.9). The specific trigger is that the remaining multipart memory limit at the start of a part must be less than 400 bytes, at which point an arbitrarily long line is read into memory bypassing the cap - an attacker can shape the request to reach this state, so it is not a non-default configuration but an inherent parser condition. The practical limiting factor is exposure: only services that accept and parse attacker-supplied multipart forms are reachable; purely internal or non-multipart endpoints are not affected, and applying the patched Go version fully removes the condition.

Impact

This is a memory-exhaustion denial-of-service flaw (CWE-770) in the Go standard library's mime/multipart and net/textproto packages, where multipart form parsing can bypass memory limits and read an arbitrarily long line into memory when the remaining limit at the start of a part is under 400 bytes. The CVSS 3.1 vector (AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H, 7.5) indicates remote, unauthenticated, low-complexity exploitation with high availability impact and no confidentiality/integrity impact - fully consistent with a DoS. Signals are coherent but point to a moderate, not urgent, priority: EPSS is low (0.18%, 7th percentile), SSVC reports Exploitation=none (no observed exploitation) and Technical Impact=partial, and the vulnerability is NOT in CISA KEV. The one amplifying signal is SSVC Automatable=yes, meaning the attack can be scripted and fired broadly against any exposed multipart endpoint. Net: a genuinely widespread but low-severity-outcome issue (resource exhaustion, not RCE or data loss) affecting a ubiquitous language runtime - patch it as routine dependency hygiene rather than emergency response, prioritizing internet-facing Go services that accept file/form uploads.

Exploit ScenarioDerived

An attacker sends a crafted multipart/form-data HTTP request to any internet-facing Go service that parses multipart forms (e.g., a file-upload or form endpoint), structuring parts so the remaining memory limit at the start of a part falls below 400 bytes, then supplying an extremely long header line. The parser bypasses the intended memory cap and buffers the oversized line, driving memory consumption up and potentially crashing the process or causing OOM-based service disruption. No public exploit identified at time of analysis, but the condition is attacker-controllable and SSVC flags the attack as automatable.

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

AnalysisAIv2 – Oct 09, 2026

Unauthenticated remote attackers can exhaust server memory in applications built on the Go standard library by submitting crafted multipart/form-data requests, because the mime/multipart parser reads an arbitrarily long line into memory whenever the remaining memory limit at the start of a part drops below 400 bytes. Affected runtimes are Go releases prior to 1.27.2 and prior to 1.26.9, including the mime/multipart and net/textproto packages; any service that parses attacker-supplied multipart forms - for example via net/http Request.ParseMultipartForm or Request.FormFile - is reachable, while internal or non-multipart endpoints are not. This is a denial-of-service (CWE-770) issue with no confirmed active exploitation and no public exploit code identified at time of analysis; EPSS is 0.18% (7th percentile), CISA SSVC rates exploitation as none with partial technical impact, and the vendor has shipped patched releases.

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

Unauthenticated remote attackers can exhaust memory in Go applications that parse attacker-supplied multipart/form-data, because the standard library's net/textproto and mime/multipart code fails to enforce the configured form memory limit when the remaining limit at the start of a part drops below 400 bytes. The affected code ships with the Go toolchain, so any HTTP/1 or HTTP/2 server built with Go 1.27.x before 1.27.2, or Go 1.26.x before 1.26.9, and exposing a multipart-parsing endpoint is vulnerable. Impact is limited to availability: the independently assessed CVSS 3.1 vector is AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:L, with no code execution or data disclosure. No public exploit code has been identified at time of analysis and the issue is not in CISA KEV; the fix is included in the Go 1.27.2 and 1.26.9 releases.

RemediationAI

Upgrade to a patched Go toolchain - Go 1.27.2 or Go 1.26.9 - then rebuild and redeploy every affected binary, since the vulnerability is compiled into the runtime rather than fixed by configuration; confirm the updated module versions against https://pkg.go.dev/vuln/GO-2026-6608 and the announcement at https://groups.google.com/g/golang-announce/c/U2fTuyDJznI, and track the upstream fix at https://go.dev/cl/847307. If immediate recompilation is not possible, apply compensating controls at the application and edge layers: wrap request bodies in http.MaxBytesReader with a hard ceiling before calling ParseMultipartForm, pass the smallest viable maxMemory value to ParseMultipartForm and cap Request.MaxHeaderBytes, and block oversized bodies at a reverse proxy or load balancer using client_max_body_size / request-body limits. The trade-off is that aggressive body-size limits will cause legitimate large uploads to fail and can be evaded by slow or chunked senders, so limits need to be tuned per endpoint rather than set globally; disabling multipart upload endpoints entirely where they are not required removes exposure at the cost of functionality. Note that no vendor-released patch version exists for a currently unsupported Go branch, so unsupported releases should be migrated to 1.26.9 or later rather than individually patched.

Affected VersionsENISA

net/textproto 1.27.0-0 <1.27.2
mime/multipart 1.27.0-0 <1.27.2
net/textproto 0 <1.26.9
mime/multipart 0 <1.26.9

Affected Packages

go stdlib fix: 1.26.9, 1.27.2
euvd mime_multipart fix: 1.26.9, 1.27.2
euvd net_textproto fix: 1.26.9, 1.27.2

Source: OSV (Open Source Vulnerabilities)

Affects your stack

Affects 3 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 flaw lives in the Go standard library's multipart form handling stack, specifically the mime/multipart parser and its net/textproto line/header reading primitives. CWE-770 (Allocation of Resources Without Limits or Throttling) describes the root cause class: the parser is supposed to honour a caller-supplied memory budget (the maxMemory parameter of ParseMultipartForm and the internal per-part accounting), but the boundary check is insufficient. When the remaining allowance at the beginning of a multipart part is less than 400 bytes - a condition an attacker can deliberately shape by padding earlier parts and headers - the parser falls through to a read path that consumes an arbitrarily long line without re-checking the cap, so a single oversized line is buffered entirely in memory. Because the check is a structural property of how parts are consumed rather than a misconfiguration, any application that feeds untrusted multipart bodies to an affected runtime inherits the condition. The same code path is shared through net/textproto, which is why both modules are listed in the EUVD range data as affected: mime/multipart and net/textproto in the 1.27.x line before 1.27.2 and in earlier lines before 1.26.9. CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H with PR:N confirms unauthenticated network reachability, and the complete absence of confidentiality/integrity impact with a high availability impact is consistent with a pure memory-exhaustion availability attack.

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.5 HIGH
AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H
vuln.today AI 7.5 HIGH

Remote unauthenticated attacker sends crafted multipart data (AV:N, PR:N, UI:N); condition is attacker-reachable (AC:L); only availability affected via memory exhaustion (C:N/I:N/A:H).

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 (CNA).

CVSS VectorVendor

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

Lifecycle Timeline

3
Severity Changed
Oct 09, 2026 - 17:37 NVD
CRITICAL HIGH
CVSS changed
Oct 09, 2026 - 17:37 NVD
7.5 (CRITICAL) 7.5 (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

Organizations using the Go standard library for web services that parse multipart form data face a denial-of-service risk from CVE-2026-94440. Attackers can exhaust server memory through crafted requests, potentially causing service outages. With Go widely adopted in cloud-native and microservices architectures, leadership should prioritize patching to maintain availability of customer-facing and internal applications.

Business Impact: High
Compensating Controls

Apply vendor patch.

Threat Intelligence Overview

EPSS Score
0.2%
Top 93% exploitable
Prevalence
High
Go standard library multipart parser, used by most Go web services
Data Quality
6 sources
Confidence: High

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

Denial of Service attacks render applications or systems unavailable by overwhelming resources or triggering failure conditions.

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