<?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>Parse-Nested-Form-Data (&lt;= 1.0.0) — CraftedSignal Threat Feed</title><link>https://feed.craftedsignal.io/products/parse-nested-form-data--1.0.0/</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 16:44:44 +0000</lastBuildDate><atom:link href="https://feed.craftedsignal.io/products/parse-nested-form-data--1.0.0/feed.xml" rel="self" type="application/rss+xml"/><item><title>parse-nested-form-data Prototype Pollution Vulnerability (CVE-2026-45302)</title><link>https://feed.craftedsignal.io/briefs/2026-05-parse-nested-form-data-prototype-pollution/</link><pubDate>Mon, 18 May 2026 16:44:44 +0000</pubDate><author>hello@craftedsignal.io</author><guid isPermaLink="true">https://feed.craftedsignal.io/briefs/2026-05-parse-nested-form-data-prototype-pollution/</guid><description>parse-nested-form-data versions 1.0.0 and earlier are vulnerable to prototype pollution via crafted FormData field names, allowing an unauthenticated remote client to mutate `Object.prototype` and potentially corrupt application state, alter control flow, or cause denial of service.</description><content:encoded><![CDATA[<p>The <code>parse-nested-form-data</code> library, versions 1.0.0 and earlier, contains a prototype pollution vulnerability. The vulnerability lies in how the <code>parseFormData()</code> function handles bracket and dot-notation within FormData field names. By crafting a FormData field name containing <code>__proto__</code>, an attacker can manipulate the prototype chain of JavaScript objects. This occurs because the parsing logic doesn&rsquo;t properly filter reserved property keys during the creation of nested objects from the FormData fields. This issue was patched in version 1.0.1.</p>
<h2 id="attack-chain">Attack Chain</h2>
<ol>
<li>An attacker crafts a malicious HTTP request containing a FormData object.</li>
<li>The FormData object includes a field with a name containing <code>__proto__</code>, such as <code>__proto__.polluted=yes</code>.</li>
<li>The server-side application receives the HTTP request and extracts the FormData object.</li>
<li>The application calls <code>parseFormData()</code> to parse the FormData into a nested JavaScript object.</li>
<li>The <code>parseFormData()</code> function processes the malicious field name without proper sanitization.</li>
<li>The <code>handlePathPart</code> function within <code>parseFormData()</code> uses the <code>__proto__</code> segment to traverse onto <code>Object.prototype</code>.</li>
<li>A property is assigned to <code>Object.prototype</code>, polluting the prototype chain for all plain JavaScript objects.</li>
<li>Subsequent operations on JavaScript objects may exhibit unexpected behavior due to the prototype pollution, leading to application compromise.</li>
</ol>
<h2 id="impact">Impact</h2>
<p>Successful exploitation of this vulnerability allows an unauthenticated remote attacker to pollute the prototype chain of JavaScript objects in the affected application. This can lead to various impacts, including: corrupted application state, altered control flow in code that reads properties off objects, and denial of service. The severity of the impact depends on how the application utilizes JavaScript objects and their properties. Multiple applications are vulnerable by using the affected package.</p>
<h2 id="recommendation">Recommendation</h2>
<ul>
<li>Upgrade to <code>parse-nested-form-data</code> version 1.0.1 or later to remediate the vulnerability.</li>
<li>If upgrading is not immediately possible, implement the workaround provided in the advisory to validate field names before calling <code>parseFormData()</code> to prevent exploitation.</li>
<li>Deploy the Sigma rule <code>Detect Prototype Pollution Attempt in parse-nested-form-data via FormData</code> to detect exploitation attempts based on HTTP request patterns.</li>
<li>Monitor web server logs for POST requests with form data containing <code>__proto__</code>, <code>constructor</code>, or <code>prototype</code> in the field names as described in the vulnerability details.</li>
</ul>
]]></content:encoded><category domain="severity">medium</category><category domain="type">advisory</category><category>prototype-pollution</category><category>javascript</category><category>web-application</category></item></channel></rss>