Attack ChainAIDerived
Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain
-
AccessReach form endpoint using @rvf/core
-
DeliverySubmit field named 'hasOwnProperty.call'
-
ExploitsetPath descends into inherited prototype method
-
ExecutionShared Object.prototype function overwritten
-
ImpactProcess-wide denial of service until restart
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 the target application to use @rvf/core form parsing (the native-form-data flatten path) with @rvf/set-get before 7.0.4, feeding attacker-controlled form field names into setPath. The concrete trigger is a form field whose name is a dotted path into an inherited Object.prototype method - specifically 'hasOwnProperty.call' (or toString/valueOf/isPrototypeOf/propertyIsEnumerable/toLocaleString) - causing setPath to resolve and overwrite the shared built-in function. No authentication, user interaction, or non-default configuration is required (PR:N/UI:N). The principal limiting factor is deployment scope: only applications that actually route untrusted form input through the vulnerable @rvf parsing stack are affected, and the resulting impact is limited to a recoverable process-wide crash rather than code execution or data exposure. |
| Impact | The vendor-supplied CVSS 4.0 vector (AV:N/AC:L/AT:N/PR:N/UI:N) scores 8.7 (High) and is internally consistent with the description: a remote, unauthenticated attacker needs only to submit a specially-named form field, with no user interaction or special attack requirements. Critically, the impact is confined to availability (VA:H) with VC:N/VI:N - this is a denial-of-service-only prototype pollution, NOT remote code execution or data compromise, which materially lowers real-world severity despite the high score. No EPSS score was provided in the input, so exploitation-likelihood cannot be quantified. KEV status is negative and no public exploit was supplied (the commit contains only vendor regression tests, which demonstrate the mechanism but are not weaponized exploit code), so exploitation status is 'no public exploit identified at time of analysis.' The signals are not conflicting: all point to an easily-triggered but availability-limited flaw. The practical priority is moderate - trivial to trigger against any exposed app that parses untrusted form field names through @rvf/core, but the worst outcome is a process crash requiring restart, not compromise. Patch availability and a credible reporter (VulnCheck) support prompt but not emergency remediation. |
| Exploit ScenarioDerived | An attacker targets a web application that uses @rvf/core (Remix Validated Form) to parse multipart/form submissions backed by @rvf/set-get before 7.0.4. They POST a form containing a field literally named 'hasOwnProperty.call'; the flatten/setPath logic descends into the inherited Object.prototype method and overwrites the shared function, breaking it process-wide and crashing or hanging request handling until the Node.js process is restarted. No public exploit code was identified, but the mechanism is trivial and documented in the vendor regression tests. |
Get an e-mail when this CVE is exploited, patched or re-scored. Free account.
Alert meAnalysisAIv1 – Oct 19, 2026
Prototype pollution in @rvf/set-get before 7.0.4 lets remote attackers crash a Node.js process by submitting a form field named 'hasOwnProperty.call' (or a similar dotted path into an inherited Object.prototype method) through @rvf/core form parsing. Because setPath resolves inherited properties with a plain obj[part] === undefined check, it walks into Object.prototype and overwrites the shared built-in function, denying service process-wide until restart. The CVSS 4.0 vector scores 8.7 with PR:N and UI:N, meaning no authentication or user interaction is required; no public exploit code was identified at time of analysis, and the practical scope is limited to applications that route untrusted form input through the vulnerable @rvf parsing stack, with impact confined to a recoverable denial of service rather than code execution or data exposure.
RemediationAI
Upgrade @rvf/set-get to 7.0.4 or later (patch commit 4a5e118667549ac41f065b4cfa80b995841c3811); confirm the resolved transitive version in your lockfile, since @rvf/core pulls set-get in indirectly and a stale lockfile can leave 7.0.3 in place. Patch status: vendor-released fix published in 7.0.4 per the VulnCheck advisory (https://www.vulncheck.com/advisories/rvf-set-get-before-7.0.4-prototype-pollution-via-setpath-inherited-methods); the upstream commit shows the code change but a patched release version should be verified against the package registry. If upgrading is not immediately possible, compensating controls include rejecting or sanitizing form field names containing dots or segments that collide with Object.prototype members (hasOwnProperty, toString, valueOf, isPrototypeOf, propertyIsEnumerable, toLocaleString) before they reach @rvf/core parsing - trade-off: legitimate nested-field conventions using dot notation will break. Alternatively, freeze the shared prototypes at process start with Object.freeze(Object.prototype) so the overwrite throws instead of corrupting global state - trade-off: some libraries mutate prototypes and may fail at runtime, so this must be tested. Running the affected service under a process supervisor that restarts on crash reduces the duration of the denial of service but does not prevent repeated disruption.
Affected VersionsENISA
Affected Packages
Source: OSV (Open Source Vulnerabilities)
Affects your stack
Affects 1 package in euvd
Checking this CVE against your own stacks and servers is part of the Basic plan and up.
Technical ContextAI · show details
The flaw is CWE-1321 (improperly controlled modification of object prototype attributes), specifically a prototype-pollution variant in the setPath utility of the @rvf/set-get package. setPath walks a dotted string path and creates intermediate objects, but the original guard was if (obj[part] === undefined), a lookup that also matches inherited properties. When a path segment names an inherited method on Object.prototype (hasOwnProperty, toString, valueOf, isPrototypeOf, propertyIsEnumerable, toLocaleString), the traversal descends into the shared built-in function object rather than creating a fresh own key, and the final assignment overwrites a property on that shared function - for example replacing Object.prototype.hasOwnProperty.call. The fix, in commit 4a5e118, swaps the check for Object.hasOwn(obj, part) so only own properties are considered for traversal (the constructor key remains explicitly forbidden). The attack surface is the native-form-data flatten path in @rvf/core (packages/core/src/native-form-data/flatten.ts), which converts multipart/form-data field names into dotted paths and hands them to setPath - so any form field name is attacker-controlled input to the traversal. The damage is process-wide because Object.prototype members are shared across all code in the process: once a built-in like hasOwnProperty.call is replaced with a string, subsequent calls throw, breaking unrelated request handling. The assessed CVSS 3.1 vector (AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H) confirms a low-complexity, unauthenticated remote availability impact with no confidentiality or integrity effect and unchanged scope.
Know when Prototype Pollution 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:N/PR:N/UI:N/VC:N/VI:N/VA:H/SC:N/SI:N/SA:N
Remote unauthenticated form submission with no interaction gives AV:N/AC:L/PR:N/UI:N; impact is availability-only (process DoS), so C:N/I:N/A:H and scope unchanged.
Primary rating from Vendor (VulnCheck).
CVSS VectorVendor: VulnCheck
DescriptionCVE.org
@rvf/set-get before 7.0.4 contains a prototype pollution vulnerability in setPath that allows unauthenticated attackers to overwrite properties of shared built-in functions via inherited Object.prototype methods. Attackers can submit a form field named hasOwnProperty.call through @rvf/core form parsing to replace the shared function property, causing process-wide denial of service until restart.
Executive ViewAI
The @rvf/set-get library before 7.0.4 contains a prototype pollution flaw that lets an unauthenticated remote attacker crash Node.js processes in applications using @rvf/core form parsing, causing a recoverable denial of service. Leadership should care because any internet-facing service on this stack can be disrupted until restarted, although the impact is limited to availability with no data exposure or code execution. No public exploit identified at time of analysis, and the practical scope is confined to applications that route untrusted form input through the vulnerable @rvf parsing stack.
Apply vendor patch.
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
Denial of Service attacks render applications or systems unavailable by overwhelming resources or triggering failure conditions.
More in Prototype Pollution
View allPrototype pollution in Adobe Acrobat Reader versions 24.001.30356, 26.001.21367 and earlier enables arbitrary code execu
All versions of package dojo are vulnerable to Prototype Pollution via the setObject function. Rated critical severity (
Prototype pollution in the farinspace Partners WordPress plugin (versions up to and including 0.2.0) enables remote unau
The package handlebars before 4.7.7 are vulnerable to Prototype Pollution when selecting certain compiling options to co
This affects the package ini before 1.3.6. Rated critical severity (CVSS 9.8), this vulnerability is remotely exploitabl
Prototype pollution vulnerability in 'deephas' versions 1.0.0 through 1.0.5 allows attacker to cause a denial of service
A Prototype Pollution issue in Cronvel Tree-kit v.0.7.4 and before allows a remote attacker to execute arbitrary code vi
A Prototype Pollution issue in Aliconnect /sdk v.0.0.6 allows an attacker to execute arbitrary code via the aim function
All versions of the package safe-eval are vulnerable to Prototype Pollution via the safeEval function, due to improper s
This affects the package vm2 before 3.9.4 via a Prototype Pollution attack vector, which can lead to execution of arbitr
Prototype Pollution in chargeover redoc v2.0.9-rc.69 allows attackers to execute arbitrary code or cause a Denial of Ser
alizeait unflatto <= 1.0.2 was discovered to contain a prototype pollution via the method exports.unflatto at /dist/inde
EUVD-2026-104401
GHSA-ffhp-5372-ccmj
NVD
CVE.org
EPSS
VulDB
Exploit-DB