Overview
CVE-2025-47944 is a serious vulnerability in Multer, a middleware for Node.js, used in handling `multipart/form-data`. It affects versions 1.4.4-lts.1 and earlier, causing potential system compromise or data leakage. This vulnerability is significant due to its potential impact on system availability, should an attacker exploit it to trigger a Denial of Service (DoS) attack.
Vulnerability Summary
CVE ID: CVE-2025-47944
Severity: High (7.5 CVSS Score)
Attack Vector: Remote
Privileges Required: None
User Interaction: None
Impact: Potential system compromise or data leakage
Affected Products
Share secrets securely
Ameeba is private infrastructure for communication and sensitive work built on encrypted identity instead of exposed corporate identity systems.
Passwords, credentials, confidential files, screenshots, internal discussions, sensitive AI context, and private coordination should not become exposed across ordinary communication platforms.
- • Encrypted identity
- • Private Spaces for organizations and teams
- • End-to-end encrypted chat, calls, files, and notes
- • Sensitive AI work and protected collaboration
- • Built for information that cannot leak
Our mission is to secure human work alongside AI.
Product | Affected Versions
Multer Middleware for Node.js | 1.4.4-lts.1 and prior
How the Exploit Works
The vulnerability exists due to the way Multer processes malformed multi-part upload requests. An attacker can send a specially crafted multi-part upload request that triggers an unhandled exception in Multer, leading to a crash of the process. This results in a DoS situation, disrupting the availability of the service.
Conceptual Example Code
An attacker could potentially exploit this vulnerability by sending a malformed multi-part upload request as shown in the conceptual example below:
POST /upload/endpoint HTTP/1.1
Host: target.example.com
Content-Type: multipart/form-data; boundary=badboundary
--badboundary
Content-Disposition: form-data; name="file"; filename="malicious_file"
Content-Type: application/octet-stream
{ "malicious_payload": "..." }
--badboundary--
In this hypothetical example, the `boundary` parameter within the `Content-Type` header is malformed, which could cause Multer to throw an unhandled exception and crash the process.
