Attack ChainAIDerived
Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain
-
AccessSubmit crafted serialized payload
-
Exploitdevalue.parse/unflatten emits __proto__ own property
-
ExecutionDownstream Object.assign merges result
-
ImpactObject.prototype polluted, altering app integrity
Vulnerability Assessment
| Weakness |
CWE
ASVS 5.0
V3 - Web Frontend Security Prototype pollution prevention
MITRE ATT&CK
2 techniques across 2 tactics: Execution, Initial Access The technique list with ATT&CK links and the kill-chain view is part of the Basic plan and up. |
| Exploitation Conditions | Exploitation requires two conditions, both tied to the consuming application, not devalue alone: (1) the application must pass attacker-controlled serialized input to devalue.parse or devalue.unflatten, and (2) downstream code must merge the returned object into a target using Object.assign (or an equivalent own-property copy) so that an emitted |
| Impact | This is a moderate, conditional-risk issue rather than a top-tier emergency. The CVSS 4.0 vector (6.3, AV:N/AC:L/AT:P/PR:N/UI:N) shows a network-reachable, unauthenticated flaw with only low integrity impact (VI:L) and no confidentiality or availability impact - consistent with prototype pollution that corrupts object state but does not directly leak data or crash the service. The AT:P (attack requirement present) metric aligns precisely with the advisory's own caveat: devalue emitting a |
| Exploit ScenarioDerived | An attacker submits crafted serialized input to an application endpoint that deserializes it with devalue.parse or devalue.unflatten; the returned object carries a |
Get an e-mail when this CVE is exploited, patched or re-scored. Free account.
Alert meAnalysisAIv1 – Nov 08, 2026
Prototype injection in the sveltejs devalue npm package (4.0.0 through 5.6.3) allows unauthenticated remote attackers to supply crafted serialized input that devalue.parse or devalue.unflatten deserializes into an object carrying a __proto__ own property. The flaw becomes exploitable only when downstream application code copies that result onto a target object with Object.assign, at which point the target's prototype is polluted and its behavior can be influenced - the vendor states that emitting the __proto__ property is not a vulnerability on its own. Impact is confined to integrity (assessed CVSS:3.1 AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:L/A:N; CVSS 4.0 base score 6.3 with AT:P reflecting the required downstream merge precondition), a fix ships in devalue 5.6.4, and no public exploit code was identified at time of analysis.
RemediationAI
Vendor-released patch: devalue 5.6.4 - upgrade the npm dependency from any 4.x or 5.x version below 5.6.4 to 5.6.4 or later, following advisory GHSA-mwv9-gp5h-frr4; the upstream fix commit is 87c1f3ce3759765a061cfe34843ecc4b0711ba8d. Because the patch only stops devalue from emitting __proto__ own properties and the vendor treats that emission as non-vulnerable in isolation, the second exploitation precondition sits in the consuming application: audit any code that passes untrusted serialized input to devalue.parse or devalue.unflatten and later merges the returned object into a shared or privileged object with Object.assign (or a comparable own-property copy), and rework those merges so an attacker-supplied __proto__ key cannot reach a prototype setter - for example by copying into a null-prototype target or by rejecting __proto__/constructor/prototype keys before assignment. Until the dependency bump is deployed, that merge-side restriction is the only lever that removes the assessed precondition; devalue versions outside the 4.0.0-5.6.3 range are not affected per the advisory. This is a moderate, conditional-risk issue (vuln.today priority: this_month) rather than an emergency: no public exploit code and no CISA KEV listing were identified at time of analysis, and the assessed impact is integrity-only.
Affected VersionsENISA
Affected Packages
Source: OSV (Open Source Vulnerabilities)
Affects your stack
Affects 1 package in npm
Checking this CVE against your own stacks and servers is part of the Basic plan and up.
Technical ContextAI · show details
devalue is a serialization library published by the sveltejs organization on npm, tracked here as CPE cpe:2.3:a:sveltejs:devalue. The weakness maps to CWE-1321 (Improperly Controlled Modification of Object Prototype Attributes, i.e. prototype pollution): in affected versions, devalue.parse and devalue.unflatten could emit objects that carry a __proto__ own property when deserializing attacker-influenced input. A __proto__ own data property is not inherently dangerous - the advisory notes the same is possible with JSON.parse - but it becomes a hazard when consumer code performs an own-property copy such as Object.assign(target, result), because the assignment path interacts with the inherited __proto__ accessor and rewrites the target's prototype rather than defining an ordinary property. The trigger therefore stretches across two layers: devalue emitting the property, and application code merging the returned value into a shared or security-relevant object. The CVSS 4.0 AT:P component and the assessed CVSS:3.1 vector (AC:L, PR:N, UI:N, C:N/I:L/A:N) both reflect that the parse step alone is unauthenticated and remote, while the integrity impact depends on the consuming application's merge pattern; the specific downstream code paths that fail to guard against this are not enumerated in the available sources. Security relevance here is concentrated on the devalue package because the advisory scopes the defect to npm devalue >= 4.0.0 and < 5.6.4.
Know when Devalue gets its next vulnerability
- Watch products and get an email when something new is published
- Check this CVE against your own stack and servers
- Exploit and PoC references, threat intelligence from 22 sources
No credit card · 7-day full trial
Severity by source
CVSS:4.0/AV:N/AC:L/AT:P/PR:N/UI:N/VC:N/VI:L/VA:N/SC:N/SI:N/SA:N
Crafting the serialized input is low-complexity and needs no auth (AV:N/AC:L/PR:N/UI:N); only integrity is affected (I:L), with the unsafe downstream Object.assign captured as an exploitation condition rather than scope change.
Primary rating from Vendor (VulnCheck).
CVSS VectorVendor: VulnCheck
Lifecycle Timeline
1DescriptionCVE.org
Sveltejs devalue before 5.6.4 contains a prototype injection vulnerability that allows attackers to inject __proto__ own properties into objects returned by devalue.parse and devalue.unflatten. Attackers can supply crafted serialized input that, when downstream code merges results via Object.assign, alters the target object's prototype.
Threat Intelligence Overview
How this decision was reached
The engine reads each signal below and applies a fixed list of rules from top to bottom. The first rule that matches sets the recommended action – like a statement, every line is shown.
What every action level means
SSVC AssessmentENISA
Priority Score
Attack Technique
Code injection occurs when an application accepts user input and passes it directly into a language interpreter or evaluator without proper sanitization.
Related Vulnerabilities in devalue Prototype Pollution and Resource Exhaustion
View all 9Serialization of Node.js Buffer objects in the JavaScript library devalue 5.1.0 through 5.9.2 leaks unrelated process me
In devalue v5.6.3, `devalue.parse` and `devalue.unflatten` were susceptible to prototype pollution via maliciously craft
Denial of service in Svelte devalue library versions 5.1.0 through 5.6.1 allows remote attackers to exhaust CPU and memo
Denial of service in Svelte devalue versions 5.3.0 through 5.6.1 allows remote attackers to exhaust CPU and memory resou
Quadratic-complexity denial of service in the Svelte devalue JavaScript deserializer (all versions prior to 5.9.2) lets
EUVD-2026-119452
GHSA-8f8h-hxr2-jrh3
NVD
CVE.org
EPSS
Exploit-DB