Multer (Nodejs middleware), Denial of Service via Crafted Multipart Field Names, CVE-2026-77078 (High) -DC-Sep2026-2273

Listen to this Post

Multer is a widely used Node.js middleware for handling `multipart/form-data` requests, commonly employed in web applications to process file uploads and complex form submissions. A high-severity vulnerability identified as CVE-2026-77078 resides in multer versions prior to 2.3.0, allowing a remote, unauthenticated attacker to crash the entire Node.js process with a single crafted HTTP request. The flaw stems from improper handling of specially crafted text field names within multer’s internal field parsing logic.
The attack exploits the interaction between multer and its dependency, append-field, which is responsible for parsing field values into JavaScript data structures. An attacker constructs a multipart request containing two text fields with carefully chosen names. The first field name includes an extremely large numeric array index—for example,

</code>—which forces the parser to allocate a maximum-length sparse array in memory. While allocating a sparse array is generally memory-efficient due to lazy initialization in modern JavaScript engines, the subsequent processing step introduces the critical performance bottleneck.
When the second field follows with a non-numeric key, the `append-field` dependency triggers a synchronous iteration over the <em>entire length</em> of the previously allocated sparse array, rather than iterating only over defined elements. This full-length iteration consumes excessive CPU resources and blocks the Node.js event loop for a prolonged period. In some cases, the second field can push past the allocated array length, causing an uncaught `RangeError: Invalid array length` that terminates the Node.js process entirely.
Because Node.js operates on a single-threaded event loop model, blocking that thread prevents the application from processing any other concurrent requests. An attacker can amplify the impact by sending multiple such crafted requests simultaneously, effectively freezing the web server and rendering it unresponsive to legitimate users. This vulnerability requires no authentication and can be exploited with a minimal payload, making it particularly dangerous in production environments. The issue aligns with CWE-400 (Uncontrolled Resource Consumption) and CWE-248 (Uncaught Exception), and falls under ATT&CK technique T1499 (Endpoint Denial of Service). All multer versions before 2.3.0 are affected. The fix is incorporated in multer 2.3.0, which introduces an opt-in `fieldArrayIndexLimit` configuration option that rejects oversized array indexes.

<h2 style="color: blue;">DailyCVE Form:</h2>

Platform: Node.js (multer)
Version: < 2.3.0
Vulnerability: DoS (RangeError crash)
Severity: High (CVSS 7.5)
Date: 2026-08-28

<h2 style="color: blue;">Prediction: 2026-09-08</h2>

<h2 style="color: blue;">What Undercode Say:</h2>

<h2 style="color: blue;">Analytics:</h2>

<ul>
<li>CVE-2026-77078</li>
<li>CVSS Score: 7.5 (High)</li>
<li>EPSS: 0.29%</li>
<li>Exploitability: Remotely triggerable, unauthenticated</li>
<li>Affected Versions: 1.0.0 through 2.2.0 (all < 2.3.0)</li>
<li>Fixed Version: 2.3.0</li>
<li>GitHub Advisory: GHSA-535w-7cp7-47q4</li>
<li>Published: 2026-08-28</li>
<li>Updated: 2026-09-08</li>
<li>CWE: CWE-400, CWE-248</li>
</ul>

<h2 style="color: blue;">Bash Commands & Codes:</h2>

<h2 style="color: blue;">Check installed multer version:</h2>

[bash]
npm list multer

Update to patched version:

npm install [email protected]

Verify update:

npm list multer

Exploit: (Educational Purposes!)

The following `curl` command demonstrates a crafted multipart request that triggers the vulnerability:

curl -X POST http://target.example.com/upload \
-F "field1[bash]=value1" \
-F "field2[bash]=value2"

Alternatively, a Python proof-of-concept:

import requests
url = "http://target.example.com/upload"
files = {
"field1[bash]": (None, "value1"),
"field2[bash]": (None, "value2")
}
requests.post(url, files=files)

Note: The first field uses a numeric index of `1000000000` to allocate a maximum-length sparse array, and the second field with a non-numeric key triggers the full-length iteration or RangeError.

Protection: from this CVE

  1. Upgrade immediately to multer version 2.3.0 or later.
  2. After upgrading, configure the new `limits.fieldArrayIndexLimit` option to reject oversized array indexes:
    const multer = require('multer');
    const upload = multer({
    limits: {
    fieldArrayIndexLimit: 1000 // Set to the maximum array index your application requires
    }
    });
    
  3. If upgrading is not immediately possible, consider implementing a reverse proxy or API gateway with request validation to reject multipart requests containing excessively large numeric array indexes in field names.
  4. Monitor application logs for uncaught exceptions and unexpected process terminations.

Impact:

Successful exploitation causes an immediate crash of the Node.js process, resulting in a complete denial of service for the affected application. Given multer's ubiquity in the Node.js ecosystem—used in countless web applications that accept file uploads or form data—this vulnerability poses a significant risk of service disruption. The attack requires no authentication, uses a minimal payload, and can be executed remotely, making it highly dangerous in production environments. In high-traffic scenarios, even brief downtime can lead to substantial business disruption and loss of service availability for end-users. There are no known workarounds that fully mitigate the issue without upgrading.

🎯Let’s Practice Exploiting & Learn Patching For Free:

🎓 Live Courses & Certifications:

Join Undercode Academy for Verified Certifications

🚀 Request a Custom Project:

Secure, high-velocity infrastructure and disruptive technological engineering. Contact our engineering team for high-tier development and proprietary systems:
[email protected]
💎 Smart Architecture | 🛡️ Secure by Design | ⭐ Trusted by Thousands

Sources:

Reported By: github.com
Extra Source Hub:
Undercode

🔐JOIN OUR CYBER WORLD [ CVE News • HackMonitor • UndercodeNews ]

💬 Whatsapp | 💬 Telegram

📢 Follow DailyCVE & Stay Tuned:

𝕏 formerly Twitter 🐦 | @ Threads | 🔗 Linkedin Featured Image

Scroll to Top