Skip to main content

@tmlmobilidade/utils CVE-2026-45325

| EUVDEUVD-2026-44971 HIGH
Improperly Controlled Modification of Object Prototype Attributes (Prototype Pollution) (CWE-1321)
2026-05-18 https://github.com/tmlmobilidade/go GHSA-cmxg-94mg-jq94
8.2
CVSS 3.1 · Vendor: https://github.com/tmlmobilidade/go
View

Attack ChainAIDerived

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

  1. Access
    Identify endpoint forwarding JSON to setValueAtPath
  2. Delivery
    Submit path with __proto__ segment
  3. Exploit
    Trigger prototype write on Object.prototype
  4. Execution
    Polluted property inherited by all plain objects
  5. Persist
    Downstream auth or logic check reads polluted value
  6. Impact
    Bypass 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.

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

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

Alert me

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

Go < 20260509.0340.15

Affected Packages

npm @tmlmobilidade/utils fix: 20260509.0340.15
euvd go fix: 20260509.0340.15

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

Vendor (https://github.com/tmlmobilidade/go) PRIMARY 8.2 HIGH
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

Attack Vector
Network
Attack Complexity
Low
Privileges Required
None
User Interaction
None
Scope
Unchanged
Confidentiality
None
Integrity
High
Availability
Low

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

Why It Matters

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.

Business Impact: High
Compensating Controls

Vendor-released patch: @tmlmobilidade/utils version 20260509.0340.15

Threat Intelligence Overview

EPSS Score
0.1%
Top 82% exploitable
Threat Intel
1
1 source
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.1%
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
High

Priority Score

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

Attack Technique

Information disclosure occurs when an application unintentionally exposes sensitive data that aids attackers in reconnaissance or directly compromises security.

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