CVE-2026-46510
Prototype Pollution in form-data-objectizer Library
Publication date: 2026-05-29
Last updated on: 2026-05-29
Assigner: GitHub, Inc.
Description
Description
CVSS Scores
EPSS Scores
| Probability: | |
| Percentile: |
Meta Information
Affected Vendors & Products
| Vendor | Product | Version / Range |
|---|---|---|
| kaspernj | form-data-objectizer | to 1.0.1 (exc) |
Helpful Resources
Exploitability
| CWE ID | Description |
|---|---|
| CWE-1321 | The product receives input from an upstream component that specifies attributes that are to be initialized or updated in an object, but it does not properly control modifications of attributes of the object prototype. |
Attack-Flow Graph
AI Powered Q&A
How does this vulnerability affect compliance with common standards and regulations (like GDPR, HIPAA)?:
This vulnerability allows an attacker to perform prototype pollution in the Node.js process by submitting specially crafted form data. This can lead to bypassing security checks, injecting unintended configuration values, breaking template rendering, or crashing the application.
Such impacts on application integrity and security could potentially lead to unauthorized access or manipulation of sensitive data, which may affect compliance with standards like GDPR or HIPAA that require protection of data integrity and security.
However, the provided information does not explicitly state the direct effects on compliance with these regulations.
Can you explain this vulnerability to me?
CVE-2026-46510 is a prototype pollution vulnerability in the npm package form-data-objectizer, affecting versions 1.0.0 and below.
The vulnerability occurs because the library processes form keys using bracket notation (e.g., name[sub]) without filtering out special properties like __proto__, constructor, or prototype.
An attacker can exploit this by submitting a form field with a name starting with __proto__[...], which causes the library to mutate Object.prototype, affecting the entire Node.js process.
This mutation leads to prototype pollution, which persists for the lifetime of the worker process and impacts every subsequent request handled by the application.
The vulnerability exists in the treatInitial and treatSecond functions within the library's code.
How can this vulnerability impact me? :
This vulnerability can have serious impacts including bypassing security checks, injecting unintended configuration values, breaking template rendering, or crashing the application.
Because the prototype pollution affects Object.prototype, it can alter object property reads across the entire Node.js process, impacting all subsequent requests.
The exploit requires no authentication and can be triggered via a single HTTP form submission, making it easy for attackers to exploit.
How can this vulnerability be detected on my network or system? Can you suggest some commands?
This vulnerability can be detected by monitoring HTTP form submissions for fields whose names start with "__proto__[" or contain unsafe key segments such as "__proto__", "constructor", or "prototype". Since the exploit involves submitting specially crafted form data that causes prototype pollution, inspecting incoming form data for these patterns can help identify attempts to exploit the vulnerability.
There are no specific commands provided in the resources to detect this vulnerability directly on the system or network. However, you can use network traffic inspection tools like tcpdump or Wireshark to capture HTTP POST requests and then grep or filter for suspicious form field names containing "__proto__" or similar.
- Use tcpdump to capture HTTP traffic: tcpdump -i <interface> -A -s 0 'tcp port 80 or 443'
- Filter captured traffic for suspicious form fields: grep -i '__proto__' captured_traffic.txt
- Alternatively, inspect application logs or add logging to the form-data-objectizer processing to detect keys containing unsafe segments.
What immediate steps should I take to mitigate this vulnerability?
The immediate mitigation step is to upgrade the form-data-objectizer library to version 1.0.1 or later, where the vulnerability is fixed by rejecting unsafe key segments such as "__proto__", "constructor", and "prototype" in form data keys.
If upgrading is not immediately possible, implement input validation to reject or sanitize form keys containing these unsafe segments before they are processed by the library.
Additionally, monitor and log form submissions to detect and block suspicious payloads attempting prototype pollution.