Skip to main content

ts-deepmerge EUVDEUVD-2026-37991

| CVE-2026-12644 MEDIUM
Uncaught Exception (CWE-248)
2026-06-19 snyk GHSA-87mf-gv2c-c62c
5.5
CVSS 4.0 · Vendor: snyk
Share

Severity by source

Vendor (snyk) PRIMARY
5.5 MEDIUM
CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:N/VC:N/VI:N/VA:L/SC:N/SI:N/SA:N/E:P/CR:X/IR:X/AR:X/MAV:X/MAC:X/MAT:X/MPR:X/MUI:X/MVC:X/MVI:X/MVA:X/MSC:X/MSI:X/MSA:X/S:X/AU:X/R:X/V:X/RE:X/U:X
vuln.today AI
5.3 MEDIUM

Network-reachable with no authentication required (PR:N); impact is limited to a process crash with no data exposure or integrity change, so C:N/I:N/A:L.

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

Primary rating from Vendor (snyk).

CVSS VectorVendor: snyk

CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:N/VC:N/VI:N/VA:L/SC:N/SI:N/SA:N/E:P/CR:X/IR:X/AR:X/MAV:X/MAC:X/MAT:X/MPR:X/MUI:X/MVC:X/MVI:X/MVA:X/MSC:X/MSI:X/MSA:X/S:X/AU:X/R:X/V:X/RE:X/U:X
Attack Vector
Network
Attack Complexity
Low
Privileges Required
None
User Interaction
None
Scope
X

Lifecycle Timeline

4
Patch available
Jun 19, 2026 - 08:46 EUVD
Source Code Evidence Fetched
Jun 19, 2026 - 06:40 vuln.today
Analysis Generated
Jun 19, 2026 - 06:40 vuln.today
CVSS changed
Jun 19, 2026 - 06:22 NVD
5.3 (MEDIUM) 5.5 (MEDIUM)

Blast Radius

ecosystem impact
† from your stack dependencies † transitive graph · vuln.today resolves 4-path depth
  • 100 npm packages depend on ts-deepmerge (25 direct, 77 indirect)

Ecosystem-wide dependent count for version 8.0.0.

DescriptionCVE.org

Versions of the package ts-deepmerge before 8.0.0 are vulnerable to Uncaught Exception due to the improper handling of built-in Object.prototype methods (such as toString, valueOf). When user-controlled input contains these keys with non-function values, the resulting merged object becomes broken - any string context operation throws a TypeError, crashing the application.

AnalysisAI

Uncaught Exception in ts-deepmerge before 8.0.0 allows unauthenticated remote attackers to crash Node.js applications by supplying JSON payloads that contain Object.prototype method names (e.g., toString, valueOf) mapped to non-function values, causing any subsequent string-context operation on the merged object to throw a TypeError. The vulnerability is distinct from classic prototype pollution - it does not escalate privileges or leak data, but reliably corrupts the merged object's callable methods, making DoS trivially achievable against any network-exposed merge endpoint that accepts untrusted input. …

Unlock full vulnerability intelligence

  • Risk assessment & exploitation conditions
  • Attack chain visualization
  • Remediation with exact patch versions
  • Threat intelligence from 22 sources
  • Personal watchlist & email alerts

Free forever · No credit card required

Attack ChainAIDerived

Hypothetical attack flow derived from CVE metadata

Recon
Identify network-exposed endpoint accepting JSON input
Delivery
Craft payload with Object.prototype method key mapped to non-function (e.g., {"toString": 1})
Exploit
Submit payload to application
Install
ts-deepmerge merges without UNSAFE_KEYS validation
C2
Merged object has toString overwritten with non-callable
Execute
String-context operation triggers TypeError
Impact
Application process crashes (DoS)

Vulnerability AssessmentAI

Exploitation Exploitation requires two conditions to be simultaneously true: first, the application must pass user-controlled input - without stripping Object.prototype method names - into ts-deepmerge's merge() function; second, a code path must subsequently perform a string-context operation on the merged output object (template literal, string concatenation, console.log, or similar). … Additional conditions and limiting factors are described in the full assessment.
Risk Assessment The CVSS 4.0 base vector (AV:N/AC:L/AT:N/PR:N/UI:N/VC:N/VI:N/VA:L/SC:N/SI:N/SA:N) yields a score of 5.5, reflecting a network-reachable, low-complexity, unauthenticated attack with limited availability impact confined to the vulnerable system and no confidentiality or integrity impact - fully consistent with a targeted DoS primitive rather than a code execution path. … Full risk analysis with EPSS, KEV, and SSVC signal comparison available after sign-in.
Exploit Scenario An attacker identifies an API endpoint - such as a settings update, profile merge, or configuration patch route - that accepts arbitrary JSON and internally passes user input to ts-deepmerge's merge() function without key sanitization. The attacker submits a minimal payload such as {"toString": 1} in the request body. …
Remediation Upgrade ts-deepmerge to version 8.0.0 or later, which introduces the UNSAFE_KEYS blocklist covering __proto__, constructor, prototype, toString, valueOf, hasOwnProperty, isPrototypeOf, propertyIsEnumerable, and toLocaleString. … Detailed patch versions, workarounds, and compensating controls in full report.

Threat intelligence, references, and detailed analysis are available after sign-in.

Share

EUVD-2026-37991 vulnerability details – vuln.today

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