<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:content="http://purl.org/rss/1.0/modules/content/"><channel><title>Multiparty (&lt;= 4.2.3) — CraftedSignal Threat Feed</title><link>https://feed.craftedsignal.io/products/multiparty--4.2.3/</link><description>Trending threats, MITRE ATT&amp;CK coverage, and detection metadata. Fed continuously.</description><generator>Hugo</generator><language>en</language><managingEditor>hello@craftedsignal.io</managingEditor><webMaster>hello@craftedsignal.io</webMaster><lastBuildDate>Mon, 18 May 2026 17:38:22 +0000</lastBuildDate><atom:link href="https://feed.craftedsignal.io/products/multiparty--4.2.3/feed.xml" rel="self" type="application/rss+xml"/><item><title>Multiparty Denial of Service via Prototype Pollution (CVE-2026-8161)</title><link>https://feed.craftedsignal.io/briefs/2026-05-multiparty-dos/</link><pubDate>Mon, 18 May 2026 17:38:22 +0000</pubDate><author>hello@craftedsignal.io</author><guid isPermaLink="true">https://feed.craftedsignal.io/briefs/2026-05-multiparty-dos/</guid><description>Multiparty versions 4.2.3 and lower are vulnerable to denial of service via prototype pollution, where a crafted multipart/form-data request with a field name colliding with an Object.prototype property triggers a TypeError, leading to an uncaught exception and process crash.</description><content:encoded><![CDATA[<p>Multiparty is a Node.js module for handling multipart/form-data requests. Versions 4.2.3 and earlier are vulnerable to a denial-of-service (DoS) attack. By sending a specially crafted <code>multipart/form-data</code> request, an attacker can trigger a prototype pollution vulnerability.  Specifically, a field name that overlaps with a property inherited from <code>Object.prototype</code> (such as <code>__proto__</code>, <code>constructor</code>, or <code>toString</code>) causes the parser to attempt a <code>.push()</code> operation on the prototype value instead of an array. This results in a <code>TypeError</code> that is not caught, leading to an uncaught exception that crashes the Node.js process. This affects any service that uses multiparty to handle file uploads or form data.  The vulnerability is identified as CVE-2026-8161.</p>
<h2 id="attack-chain">Attack Chain</h2>
<ol>
<li>Attacker identifies a web service using a vulnerable version of multiparty (&lt;= 4.2.3) for handling <code>multipart/form-data</code> requests.</li>
<li>Attacker crafts an HTTP POST request with <code>Content-Type: multipart/form-data</code>.</li>
<li>The crafted request includes a form field where the name of the field is a property of <code>Object.prototype</code>, such as <code>__proto__</code>.</li>
<li>The multiparty library attempts to parse the <code>multipart/form-data</code> request.</li>
<li>During parsing, multiparty attempts to call the <code>.push()</code> method on the <code>__proto__</code> property. Since <code>__proto__</code> is not an array, this results in a <code>TypeError</code>.</li>
<li>The <code>TypeError</code> is not caught by the multiparty library&rsquo;s error handling.</li>
<li>The uncaught exception propagates to the Node.js process&rsquo;s event loop.</li>
<li>The Node.js process crashes due to the uncaught exception, causing a denial of service.</li>
</ol>
<h2 id="impact">Impact</h2>
<p>Successful exploitation of this vulnerability results in a denial of service. Any service using the vulnerable multiparty library to handle multipart form data can be crashed by a malicious actor. The number of potential victims is widespread, as multiparty is a commonly used library in Node.js web applications. This can lead to service unavailability and potential data loss if the application does not handle restarts gracefully.</p>
<h2 id="recommendation">Recommendation</h2>
<ul>
<li>Upgrade to <code>multiparty@4.3.0</code> or higher to patch the vulnerability as per the advisory.</li>
<li>Deploy the Sigma rule &ldquo;Detect CVE-2026-8161 Exploitation Attempt via Multipart Form&rdquo; to detect requests attempting to exploit this vulnerability by sending requests with a field name overlapping with a property of <code>Object.prototype</code>.</li>
<li>Implement rate limiting on endpoints that accept multipart form data to mitigate the impact of denial-of-service attacks in general.</li>
</ul>
]]></content:encoded><category domain="severity">medium</category><category domain="type">advisory</category><category>prototype-pollution</category><category>denial-of-service</category><category>nodejs</category></item></channel></rss>