Attack ChainAIDerived
Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain
-
AccessIdentify endpoint forwarding JSON to setValueAtPath
-
DeliverySubmit path with __proto__ segment
-
ExploitTrigger prototype write on Object.prototype
-
ExecutionPolluted property inherited by all plain objects
-
PersistDownstream auth or logic check reads polluted value
-
ImpactBypass authorization or alter program behavior
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 that a consuming application reach the @tmlmobilidade/utils setValueAtPath() function with attacker-controlled path segments (the keys array), and that the application later read a property whose name collides with the polluted key on a plain Object - a classic prototype-pollution gadget chain. Limiting factors: callers that pass only hardcoded or strictly validated paths are not exploitable; the impact is integrity-focused (C:N) so direct data disclosure is not in scope; and real-world severity depends on whether a sensitive downstream read exists (auth flags, template lookups, child_process options). No authentication or user interaction is required at the library level (PR:N/UI:N), but the network-reachability of the sink is application-specific. |
| Impact | Signals are mixed. The CVSS 3.1 vector (AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:H/A:L) implies remote, unauthenticated, low-complexity abuse with high integrity impact and low availability impact - but this rating assumes the setValueAtPath() sink is reachable from an untrusted network input, which depends on how each consumer wires the utility. Prototype pollution itself is rarely a direct RCE; its real-world impact is gadget-dependent (downstream code paths that read polluted properties), so actual exploitability varies by consumer application. No EPSS score, KEV listing, or POC was provided in the source data, so the only confirmed signal is the vendor advisory (GHSA-cmxg-94mg-jq94) and the upstream patch commit. Priority should be elevated for any service that forwards HTTP-supplied JSON keys/paths into this function, and lower where the helper is only used with hardcoded paths. |
| Exploit ScenarioDerived | An attacker submits a JSON payload to an HTTP endpoint of a downstream service that copies user-supplied keys into a dot-path passed to setValueAtPath(), for example a settings update API that accepts {"path": "__proto__.isAdmin", "value": true}. The unsafe segment walks into Object.prototype and assigns isAdmin=true globally, after which any subsequent authorization check that reads obj.isAdmin on a plain object inherits the polluted value, enabling privilege escalation or logic bypass. No public POC has been published at the time of analysis. |
Get an e-mail when this CVE is exploited, patched or re-scored. Free account.
Alert meAnalysisAIv1 – May 18, 2026
Prototype pollution in the @tmlmobilidade/utils npm package allows remote unauthenticated attackers to inject properties into Object.prototype via the setValueAtPath() helper, leading to integrity compromise and partial availability impact in any downstream application that passes user-influenced paths into the function. The flaw is rated CVSS 8.2 (AV:N/AC:L/PR:N/UI:N) and is fixed in version 20260509.0340.15; no public exploit identified at time of analysis, and the issue is not listed in CISA KEV.
RemediationAI
Vendor-released patch: upgrade @tmlmobilidade/utils to 20260509.0340.15 or later, which adds an explicit UNSAFE_KEYS denylist for __proto__, constructor, and prototype inside setValueAtPath() (commit https://github.com/tmlmobilidade/go/commit/b10505baa7ba0701f830a05f3007c0a6bdd00eb7; advisory https://github.com/tmlmobilidade/go/security/advisories/GHSA-cmxg-94mg-jq94). If immediate upgrade is not possible, wrap calls to setValueAtPath() in a caller-side validator that rejects path segments equal to __proto__, constructor, or prototype, or refactor callers to use Map or Object.create(null) targets so prototype writes have no effect - the trade-off is added boilerplate and the need to audit every call site. As a broader compensating control, freeze Object.prototype at process startup via Object.freeze(Object.prototype), but be aware this can break libraries that legitimately extend prototypes and should be tested in staging first.
Affected VersionsENISA
Affected Packages
Source: OSV (Open Source Vulnerabilities)
Affects your stack
Affects 2 packages in npm, euvd
Checking this CVE against your own stacks and servers is part of the Basic plan and up.
Technical ContextAI · show details
The vulnerable code lives in packages/utils/src/generic/value-at-path.ts and implements a generic dot-path setter that recursively walks an object using user-supplied key segments. Because the original implementation did not block the reserved JavaScript keys __proto__, constructor, or prototype, an attacker who controls the path argument could traverse into Object.prototype and assign arbitrary properties - the textbook CWE-1321 (Improperly Controlled Modification of Object Prototype Attributes) pattern. The fix introduces an UNSAFE_KEYS Set ({'__proto__', 'constructor', 'prototype'}) and throws when any segment matches, which is the standard mitigation for prototype-walking sinks in JavaScript/TypeScript utility libraries. The affected package identifier is pkg:npm/@tmlmobilidade_utils, distributed via npm and consumed by the tmlmobilidade/go monorepo's TypeScript services.
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
AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:H/A:L
Primary rating from Vendor (https://github.com/tmlmobilidade/go) · only source for this CVE.
CVSS VectorVendor: https://github.com/tmlmobilidade/go
DescriptionCVE.org
Impact
Prototype pollution vulnerability in @tmlmobilidade/utils for setValueAtPath().
Patches
A fix is available in versions 20260509.0340.15 and up.
Executive ViewAI
A prototype pollution vulnerability in the @tmlmobilidade/utils npm package enables attackers to corrupt application data and degrade performance without requiring authentication, creating material risk to organizations dependent on this library. The attack surface extends to any downstream application integrating this package, potentially affecting customer data integrity and service availability. Rapid patching to version 20260509.0340.15 is the primary control to eliminate this exposure.
Vendor-released patch: @tmlmobilidade/utils version 20260509.0340.15
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
Information disclosure occurs when an application unintentionally exposes sensitive data that aids attackers in reconnaissance or directly compromises security.
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-44971
GHSA-cmxg-94mg-jq94
NVD
CVE.org
EPSS
Exploit-DB