CVE-2026-94440
Parsing a multipart form can bypass memory limits and read an arbitrarily long line into memory when the remaining limit at the start of a part is less than 400 bytes.
CVSS
- Version: 3.1
- Vector: CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H
- Base score: 7.5
Exploitation probability (EPSS)
- Probability of exploitation in the next 30 days: 0.40%
- Percentile among all scored CVEs: 33
- Score date: 10/14/2026
EPSS (Exploit Prediction Scoring System, FIRST) estimates how likely a vulnerability is to be exploited in the wild within 30 days. It complements CVSS (impact) and CISA KEV (confirmed exploitation).
🎯 ATT&CK techniques
How this vulnerability is exploited and what the attacker gains, in MITRE ATT&CK terms.
- Exploitation
T1190Exploit Public-Facing Applicationinitial access85 % - Primary impact
T1499.004Application or System Exploitationimpact80 %
AV:N/AC:L/PR:N/UI:N indica explotación remota sin autenticación (T1190). CWE-770 (asignación de recursos sin límites) y descripción de bypass de límites de memoria causa negación de servicio por agotamiento de recursos.
Inferred by our analysis agent from the official description, CVSS vector and CWE, and checked by a supervisor. May contain errors.
🛡️ ATT&CK mitigations that cover these techniques
CWEs
- CWE-770
References
Raw JSON (NVD)
Show
{
"id": "CVE-2026-94440",
"cveTags": [],
"metrics": {
"ssvcV203": [
{
"source": "134c704f-9b21-4f2e-91b3-4a467353bcc0",
"ssvcData": {
"id": "CVE-2026-94440",
"role": "CISA Coordinator",
"options": [
{
"exploitation": "none"
},
{
"automatable": "yes"
},
{
"technicalImpact": "partial"
}
],
"version": "2.0.3",
"timestamp": "2026-10-09T16:09:04.864512Z"
}
}
],
"cvssMetricV31": [
{
"type": "Secondary",
"source": "134c704f-9b21-4f2e-91b3-4a467353bcc0",
"cvssData": {
"scope": "UNCHANGED",
"version": "3.1",
"baseScore": 7.5,
"attackVector": "NETWORK",
"baseSeverity": "HIGH",
"vectorString": "CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H",
"integrityImpact": "NONE",
"userInteraction": "NONE",
"attackComplexity": "LOW",
"availabilityImpact": "HIGH",
"privilegesRequired": "NONE",
"confidentialityImpact": "NONE"
},
"impactScore": 3.6,
"exploitabilityScore": 3.9
}
]
},
"affected": [
{
"source": "security@golang.org",
"affectedData": [
{
"vendor": "Go standard library",
"product": "net/textproto",
"versions": [
{
"status": "affected",
"version": "0",
"lessThan": "1.26.9",
"versionType": "semver"
},
{
"status": "affected",
"version": "1.27.0-0",
"lessThan": "1.27.2",
"versionType": "semver"
}
],
"packageName": "net/textproto",
"collectionURL": "https://pkg.go.dev",
"defaultStatus": "unaffected",
"programRoutines": [
{
"name": "readMIMEHeader"
},
{
"name": "Reader.readContinuedLineSlice"
},
{
"name": "Reader.ReadContinuedLine"
},
{
"name": "Reader.ReadContinuedLineBytes"
},
{
"name": "Reader.ReadMIMEHeader"
}
]
},
{
"vendor": "Go standard library",
"product": "mime/multipart",
"versions": [
{
"status": "affected",
"version": "0",
"lessThan": "1.26.9",
"versionType": "semver"
},
{
"status": "affected",
"version": "1.27.0-0",
"lessThan": "1.27.2",
"versionType": "semver"
}
],
"packageName": "mime/multipart",
"collectionURL": "https://pkg.go.dev",
"defaultStatus": "unaffected",
"programRoutines": [
{
"name": "Part.populateHeaders"
},
{
"name": "Reader.readForm"
},
{
"name": "Reader.NextPart"
},
{
"name": "Reader.NextRawPart"
},
{
"name": "Reader.ReadForm"
}
]
}
]
}
],
"published": "2026-10-08T23:17:04.917",
"references": [
{
"url": "https://go.dev/cl/847307",
"source": "security@golang.org"
},
{
"url": "https://go.dev/issue/81741",
"source": "security@golang.org"
},
{
"url": "https://groups.google.com/g/golang-announce/c/U2fTuyDJznI",
"source": "security@golang.org"
},
{
"url": "https://pkg.go.dev/vuln/GO-2026-6608",
"source": "security@golang.org"
}
],
"vulnStatus": "Awaiting Analysis",
"weaknesses": [
{
"type": "Secondary",
"source": "134c704f-9b21-4f2e-91b3-4a467353bcc0",
"description": [
{
"lang": "en",
"value": "CWE-770"
}
]
}
],
"descriptions": [
{
"lang": "en",
"value": "Parsing a multipart form can bypass memory limits and read an arbitrarily long line into memory when the remaining limit at the start of a part is less than 400 bytes."
}
],
"lastModified": "2026-10-09T17:16:50.907",
"sourceIdentifier": "security@golang.org"
}