CVE-2026-40345

deepmerge-ts is a typescript library providing functionality to deep merging of javascript objects. Prior to 8.0.0, the deepmerge, deepmergeCustom, deepmergeInto, and deepmergeIntoCustom APIs do not track visited objects or object pairs when recursively merging records. When two input values contain self-references at the same property path, the merge logic repeatedly revisits the same pair until Node.js raises RangeError: Maximum call stack size exceeded. Applications that merge attacker-controlled recursive object graphs can synchronously crash the affected process or cause repeated worker restarts. Plain JSON input alone cannot create the recursive graph required to trigger the issue. This issue is fixed in version 8.0.0.
CVSS

No CVSS.

Configurations

No configuration.

History

18 Oct 2026, 20:10

Type Values Removed Values Added
Summary
  • (es) deepmerge-ts es una biblioteca de typescript que proporciona funcionalidad para la fusión profunda de objetos javascript. Antes de la versión 8.0.0, las APIs deepmerge, deepmergeCustom, deepmergeInto y deepmergeIntoCustom no rastrean los objetos visitados o los pares de objetos al fusionar registros recursivamente. Cuando dos valores de entrada contienen autorreferencias en la misma ruta de propiedad, la lógica de fusión revisita repetidamente el mismo par hasta que Node.js lanza RangeError: Maximum call stack size exceeded. Las aplicaciones que fusionan grafos de objetos recursivos controlados por el atacante pueden bloquear sincrónicamente el proceso afectado o causar reinicios repetidos de los workers. La entrada JSON simple por sí sola no puede crear el grafo recursivo necesario para desencadenar el problema. Este problema está solucionado en la versión 8.0.0.

Information

Published : 2026-08-20 17:17

Updated : 2026-10-18 20:10


NVD link : CVE-2026-40345

Mitre link : CVE-2026-40345

CVE.ORG link : CVE-2026-40345


JSON object : View

Products Affected

No product.

CWE
CWE-674

Uncontrolled Recursion