Sveltejs devalue's `devalue.parse` and `devalue.unflatten` emit objects with `__proto__` own properties
The devalue library versions 4.0.0 up to but not including 5.6.4 have a behavior where the functions devalue.parse and devalue.unflatten can produce objects containing own properties named __proto__. While this behavior alone is not a security vulnerability, it can lead to prototype pollution if downstream code improperly handles these objects, such as by using Object.assign. This can result in the target object's prototype being modified unintentionally. No known exploits are reported in the wild, and the severity is considered low.
AI Analysis
Technical Summary
In devalue versions >=4.0.0 <5.6.4, the functions devalue.parse and devalue.unflatten may emit objects that include own properties named __proto__. This is not inherently a vulnerability, as similar behavior occurs with JSON.parse. However, if downstream code merges these objects into others using methods like Object.assign, it can cause prototype pollution by modifying the prototype of the target object. This issue is classified under CWE-1321 and has a low severity rating with no known active exploits.
Potential Impact
The impact arises only if downstream code incorrectly handles objects returned by devalue.parse or devalue.unflatten by merging them into other objects, potentially causing prototype pollution. This can lead to unexpected behavior or security issues in the affected application. The vulnerability itself does not directly allow code execution or privilege escalation without such improper handling.
Mitigation Recommendations
No official patch or fix is currently documented. Users should audit and update their code to avoid merging objects returned by devalue.parse or devalue.unflatten into other objects without proper validation or sanitization. Avoid using Object.assign or similar methods on these objects if they might contain __proto__ properties. Monitor the vendor advisory for updates regarding official fixes.
Sveltejs devalue's `devalue.parse` and `devalue.unflatten` emit objects with `__proto__` own properties
Description
The devalue library versions 4.0.0 up to but not including 5.6.4 have a behavior where the functions devalue.parse and devalue.unflatten can produce objects containing own properties named __proto__. While this behavior alone is not a security vulnerability, it can lead to prototype pollution if downstream code improperly handles these objects, such as by using Object.assign. This can result in the target object's prototype being modified unintentionally. No known exploits are reported in the wild, and the severity is considered low.
CVSS v4.0
Affected software
Run on your own infrastructure? Check whether these packages are installed with threat-finder — our free open-source scanner.
Weaknesses
AI-Powered Analysis
Machine-generated threat intelligence
Technical Analysis
In devalue versions >=4.0.0 <5.6.4, the functions devalue.parse and devalue.unflatten may emit objects that include own properties named __proto__. This is not inherently a vulnerability, as similar behavior occurs with JSON.parse. However, if downstream code merges these objects into others using methods like Object.assign, it can cause prototype pollution by modifying the prototype of the target object. This issue is classified under CWE-1321 and has a low severity rating with no known active exploits.
Potential Impact
The impact arises only if downstream code incorrectly handles objects returned by devalue.parse or devalue.unflatten by merging them into other objects, potentially causing prototype pollution. This can lead to unexpected behavior or security issues in the affected application. The vulnerability itself does not directly allow code execution or privilege escalation without such improper handling.
Mitigation Recommendations
No official patch or fix is currently documented. Users should audit and update their code to avoid merging objects returned by devalue.parse or devalue.unflatten into other objects without proper validation or sanitization. Avoid using Object.assign or similar methods on these objects if they might contain __proto__ properties. Monitor the vendor advisory for updates regarding official fixes.
Technical Details
- Gcve Source
- db.gcve.eu
- Osv Id
- GHSA-mwv9-gp5h-frr4
- Osv Schema Version
- 1.4.0
- Aliases
- []
- Ecosystems
- ["npm"]
- Database Specific Severity
- LOW
- Cvss Version
- 4.0
Threat ID: 6a3ef76c27e9c79719fee88f
Added to database: 06/26/2026, 22:04:28 UTC
Last enriched: 06/26/2026, 22:08:57 UTC
Last updated: 07/31/2026, 12:27:30 UTC
Views: 46
Community Reviews
0 reviewsCrowdsource mitigation strategies, share intel context, and vote on the most helpful responses. Sign in to add your voice and help keep defenders ahead.
Want to contribute mitigation steps or threat intel context? Sign in or create an account to join the community discussion.
Actions
Updates to AI analysis require Pro Console access. Upgrade inside Console → Billing.
Need more coverage?
Upgrade to Pro Console for AI refresh and higher limits.
For incident response and remediation, OffSeq services can help resolve threats faster.
Latest Threats
Check if your credentials are on the dark web
Instant breach scanning across billions of leaked records. Free tier available.