@tmlmobilidade/utils CVE-2026-45325
HIGHSeverity by source
AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:H/A:L
Primary rating from GitHub Advisory · only source for this CVE.
CVSS VectorGitHub Advisory
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:H/A:L
Lifecycle Timeline
2DescriptionGitHub Advisory
Impact
Prototype pollution vulnerability in @tmlmobilidade/utils for setValueAtPath().
Patches
A fix is available in versions 20260509.0340.15 and up.
AnalysisAI
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.
Technical ContextAI
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.
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.
More in Prototype Pollution
View allPrototype pollution in Adobe Acrobat Reader versions 24.001.30356, 26.001.21367 and earlier enables arbitrary code execu
Prototype pollution in the farinspace Partners WordPress plugin (versions up to and including 0.2.0) enables remote unau
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
A vulnerability exists in the 'dagre-d3-es' Node.js package version 7.0.9, specifically within the 'bk' module's addConf
A Prototype Pollution vulnerability in the util-deps.addFileDepend function of magix-combine-ex versions thru 1.2.10 all
Chartist 1.x through 1.3.0 allows Prototype Pollution via the extend function. Rated critical severity (CVSS 9.8), this
Same technique Information Disclosure
View allShare
External POC / Exploit Code
Leaving vuln.today
GHSA-cmxg-94mg-jq94