CVE-2026-12644 ts-deepmerge: Prototype Method Override leads to DoS
An attacker can crash the application by providing input with specific Object.prototype keys, causing uncaught exceptions in the ts-deepmerge library.
- Exploited in the wild
- Not known
- Login needed
- Not needed
- Attackable
- Over the internet
- Victim action needed
- Not needed
- Fix
- Available
What is CVE-2026-12644?
CVE-2026-12644 is a medium-severity denial of service vulnerability in ts-deepmerge, published on 19 Jun 2026. An attacker can exploit it over the internet without logging in, with no action from the victim.
Official description
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.
Weakness: CWE-248
Which versions are affected by CVE-2026-12644?
2 open source packages ship an affected version, including ts-deepmerge.
| Package | Affected | Fixed in |
|---|---|---|
ts-deepmerge npm | All versions | 8.0.0 |
ts-deepmerge npm | All versions | 8.0.0 |
How do I fix CVE-2026-12644?
Upgrade ts-deepmerge to 8.0.0 or later.
Upgrade, then put limits on request size, rate and nesting depth so one client cannot exhaust the service. More about Denial of service.
Is CVE-2026-12644 being exploited?
It is not confirmed as exploited in the wild, but public exploit code for CVE-2026-12644 exists.
Sources
Also known as CLSA-2026-1792473266, CLSA-2026-1792490574, GHSA-87mf-gv2c-c62c.