Skip to main content

@rvf/set-get CVE-2026-112309

| EUVDEUVD-2026-104401 HIGH
Improperly Controlled Modification of Object Prototype Attributes (Prototype Pollution) (CWE-1321)
2026-10-19 VulnCheck GHSA-ffhp-5372-ccmj
8.7
CVSS 4.0 · Vendor: VulnCheck
View

Attack ChainAIDerived

Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain

  1. Access
    Reach form endpoint using @rvf/core
  2. Delivery
    Submit field named 'hasOwnProperty.call'
  3. Exploit
    setPath descends into inherited prototype method
  4. Execution
    Shared Object.prototype function overwritten
  5. Impact
    Process-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.

This Week Schedule remediation this week. Why: HIGH severity (CVSS 7.0-8.9).
Patch available 0.4% exploitation probability (EPSS)

Get an e-mail when this CVE is exploited, patched or re-scored. Free account.

Alert me

AnalysisAIv1 – 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

@rvf/set-get 0 <7.0.4

Affected Packages

euvd rvf_set_get fix: 7.0.4

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

Vendor (VulnCheck) PRIMARY 8.7 HIGH
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
vuln.today AI 7.5 HIGH

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.

3.1 AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H
4.0 AV:N/AC:L/AT:N/PR:N/UI:N/VC:N/VI:N/VA:H/SC:N/SI:N/SA:N

Primary rating from Vendor (VulnCheck).

CVSS VectorVendor: VulnCheck

Attack Vector
Network
Attack Complexity
Low
Attack Requirements
None
Privileges Required
None
User Interaction
None
Vulnerable system: Confidentiality
None
Vulnerable system: Integrity
None
Vulnerable system: Availability
High
Subsequent system: Confidentiality
None
Subsequent system: Integrity
None
Subsequent system: Availability
None

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

Why It Matters

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.

Business Impact: Medium
Compensating Controls

Apply vendor patch.

Threat Intelligence Overview

EPSS Score
0.4%
Top 68% exploitable
Prevalence
Low
niche React/Remix form-validation library subpackage, limited production footprint
Data Quality
5 sources
Confidence: Medium

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.

SignalValue
Severity HIGH
CISA KEV No
Public POC No
EPSS 0.4%
Patch available Yes
Active threat No
Deciding rule
HIGH severity (CVSS 7.0-8.9)
What every action level means
Emergency Immediate action required. Criteria: CRITICAL + in CISA KEV (actively exploited) without patch, OR CRITICAL + EPSS > 30% without patch, OR CRITICAL + active threat signals without patch.
Act Now Prioritize within 24-48h. Criteria: in KEV with patch available, OR CRITICAL + public POC, OR HIGH + EPSS > 10%, OR CRITICAL + active threat, OR any CRITICAL severity.
This Week Schedule remediation this week. Criteria: HIGH severity (CVSS 7.0-8.9). Patch within normal change window.
This Month Plan within 30 days. Criteria: MEDIUM severity (CVSS 4.0-6.9), lower exploitation probability. Include in regular patch cycle.
Monitor Track and reassess. Criteria: LOW severity (CVSS 0.1-3.9), minimal exploitation risk. No immediate action needed.

SSVC AssessmentENISA

SSVC Decision· derived
Scheduled
Exploitation· derived
None
System Exposure· derived
Open
Automatable· derived
Yes
Human Impact
Medium

Priority Score

44
Low Medium High Critical
KEV: 0
EPSS: 0
CVSS: +44
PoC: 0
Weaponized: 0
Threat intel: 0
Gov advisory: 0

Attack Technique

Denial of Service attacks render applications or systems unavailable by overwhelming resources or triggering failure conditions.

CVE-2026-34621 HIGH POC
8.6 Apr 11

Prototype pollution in Adobe Acrobat Reader versions 24.001.30356, 26.001.21367 and earlier enables arbitrary code execu

CVE-2021-23450 CRITICAL POC
9.8 Dec 17

All versions of package dojo are vulnerable to Prototype Pollution via the setObject function. Rated critical severity (

CVE-2024-56059 CRITICAL
9.8 Dec 18

Prototype pollution in the farinspace Partners WordPress plugin (versions up to and including 0.2.0) enables remote unau

CVE-2021-23383 CRITICAL POC
9.8 May 04

The package handlebars before 4.7.7 are vulnerable to Prototype Pollution when selecting certain compiling options to co

CVE-2020-7788 CRITICAL POC
9.8 Dec 11

This affects the package ini before 1.3.6. Rated critical severity (CVSS 9.8), this vulnerability is remotely exploitabl

CVE-2020-28271 CRITICAL POC
9.8 Nov 12

Prototype pollution vulnerability in 'deephas' versions 1.0.0 through 1.0.5 allows attacker to cause a denial of service

CVE-2023-38894 CRITICAL POC
9.8 Aug 16

A Prototype Pollution issue in Cronvel Tree-kit v.0.7.4 and before allows a remote attacker to execute arbitrary code vi

CVE-2024-24292 CRITICAL POC
9.8 Mar 28

A Prototype Pollution issue in Aliconnect /sdk v.0.0.6 allows an attacker to execute arbitrary code via the aim function

CVE-2023-26121 CRITICAL POC
10.0 Apr 11

All versions of the package safe-eval are vulnerable to Prototype Pollution via the safeEval function, due to improper s

CVE-2021-23449 CRITICAL POC
10.0 Oct 18

This affects the package vm2 before 3.9.4 via a Prototype Pollution attack vector, which can lead to execution of arbitr

CVE-2024-39011 CRITICAL POC
9.8 Jul 30

Prototype Pollution in chargeover redoc v2.0.9-rc.69 allows attackers to execute arbitrary code or cause a Denial of Ser

CVE-2024-38988 CRITICAL POC
9.8 Mar 28

alizeait unflatto <= 1.0.2 was discovered to contain a prototype pollution via the method exports.unflatto at /dist/inde

This site uses cookies essential for authentication and security. No tracking or analytics cookies are used. Privacy Policy