fix(deps): update dependency deepmerge-ts to v8 [security] - #56
Open
renovate[bot] wants to merge 1 commit into
Open
fix(deps): update dependency deepmerge-ts to v8 [security]#56renovate[bot] wants to merge 1 commit into
renovate[bot] wants to merge 1 commit into
Conversation
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
This PR contains the following updates:
^4.2.2โ^8.0.0DeepmergeTS has stack exhaustion when merging recursive object graphs
CVE-2026-40345 / GHSA-ggr8-5vv4-36mx
More information
Details
Summary
deepmerge()anddeepmergeInto()can be crashed with a crafted recursive object graph. When both merged values contain self-references at the same property path, the library recurses until Node throwsRangeError: Maximum call stack size exceeded.Details
Record merging is implemented recursively. For each enumerable key, the library collects the values from every input object and immediately calls the same merge routine on that property.
There is no visited-object tracking, pair tracking, or cycle detection in that recursion. As a result, if two merged records both point back to themselves through the same key path, the merge logic keeps revisiting the same object pair forever.
This is reachable through the real public API:
deepmerge(...)deepmergeCustom(...)(...)deepmergeInto(target, ...)deepmergeIntoCustom(...)(target, ...)The issue only occurs when recursive object graphs are supplied. Plain JSON alone does not create this condition.
PoC
Impact
Applications that pass attacker-controlled recursive object graphs into these APIs can be forced into a synchronous crash path. In Node.js services, that can terminate request handling for the affected process or trigger repeated worker restarts until the malicious input is blocked.
Severity
CVSS:4.0/AV:N/AC:L/AT:P/PR:N/UI:N/VC:N/VI:N/VA:H/SC:N/SI:N/SA:NReferences
This data is provided by the GitHub Advisory Database (CC-BY 4.0).
Release Notes
RebeccaStevens/deepmerge-ts (deepmerge-ts)
v8.0.0Compare Source
Bug Fixes
Code Refactoring
Features
Performance Improvements
BREAKING CHANGES
Code that depended on inputs being merged into the target through alias
must now pass copies explicitly. The documented 'update the target'
behavior is preserved on the target itself.
must be updated.
metaMetaparameter is nowmergeInfo.Implementations must update the parameter name accordingly.
MetaDataUpdater<M, MI>).DeepMergeIntoFunctionUtilstype has been renamed toDeepMergeIntoUtils.mergeMapsInto. Colliding keys will now be merged.
7.1.6 (2026-08-11)
Bug Fixes
7.1.5 (2025-02-23)
Bug Fixes
7.1.4 (2025-01-23)
Bug Fixes
7.1.3 (2024-10-08)
7.1.2 (2024-10-08)
Performance Improvements
7.1.1 (2024-10-04)
Performance Improvements
v7.1.6Compare Source
Bug Fixes
Code Refactoring
Features
Performance Improvements
BREAKING CHANGES
Code that depended on inputs being merged into the target through alias
must now pass copies explicitly. The documented 'update the target'
behavior is preserved on the target itself.
must be updated.
metaMetaparameter is nowmergeInfo.Implementations must update the parameter name accordingly.
MetaDataUpdater<M, MI>).DeepMergeIntoFunctionUtilstype has been renamed toDeepMergeIntoUtils.mergeMapsInto. Colliding keys will now be merged.
7.1.6 (2026-08-11)
Bug Fixes
7.1.5 (2025-02-23)
Bug Fixes
7.1.4 (2025-01-23)
Bug Fixes
7.1.3 (2024-10-08)
7.1.2 (2024-10-08)
Performance Improvements
7.1.1 (2024-10-04)
Performance Improvements
v7.1.5Compare Source
Bug Fixes
v7.1.4Compare Source
Bug Fixes
v7.1.3Compare Source
v7.1.2Compare Source
Performance Improvements
v7.1.1Compare Source
Performance Improvements
v7.1.0Compare Source
Features
defuto compare with (#โ486) (93599b4)7.0.3 (2024-06-06)
Bug Fixes
7.0.2 (2024-06-03)
Bug Fixes
7.0.1 (2024-05-21)
Bug Fixes
v7.0.3Compare Source
Features
defuto compare with (#โ486) (93599b4)7.0.3 (2024-06-06)
Bug Fixes
7.0.2 (2024-06-03)
Bug Fixes
7.0.1 (2024-05-21)
Bug Fixes
v7.0.2Compare Source
Features
defuto compare with (#โ486) (93599b4)7.0.3 (2024-06-06)
Bug Fixes
7.0.2 (2024-06-03)
Bug Fixes
7.0.1 (2024-05-21)
Bug Fixes
v7.0.1Compare Source
Features
defuto compare with (#โ486) (93599b4)7.0.3 (2024-06-06)
Bug Fixes
7.0.2 (2024-06-03)
Bug Fixes
7.0.1 (2024-05-21)
Bug Fixes
v7.0.0Compare Source
Features
defuto compare with (#โ486) (93599b4)7.0.3 (2024-06-06)
Bug Fixes
7.0.2 (2024-06-03)
Bug Fixes
7.0.1 (2024-05-21)
Bug Fixes
v6.0.3Compare Source
Code Refactoring
Features
BREAKING CHANGES
6.0.3 (2024-05-20)
Bug Fixes
6.0.2 (2024-05-20)
Bug Fixes
6.0.1 (2024-05-20)
Bug Fixes
v6.0.2Compare Source
Code Refactoring
Features
BREAKING CHANGES
6.0.3 (2024-05-20)
Bug Fixes
6.0.2 (2024-05-20)
Bug Fixes
6.0.1 (2024-05-20)
Bug Fixes
v6.0.1Compare Source
Code Refactoring
Features
BREAKING CHANGES
6.0.3 (2024-05-20)
Bug Fixes
6.0.2 (2024-05-20)
Bug Fixes
6.0.1 (2024-05-20)
Bug Fixes
v6.0.0Compare Source
Code Refactoring
Features
BREAKING CHANGES
6.0.3 (2024-05-20)
Bug Fixes
6.0.2 (2024-05-20)
Bug Fixes
6.0.1 (2024-05-20)
Bug Fixes
v5.1.0Compare Source
Features
v5.0.0Compare Source
Bug Fixes
chore
BREAKING CHANGES
v4.3.0Compare Source
Features
4.2.2 (2022-09-19)
4.2.1 (2022-06-15)
Bug Fixes
Configuration
๐ Schedule: (UTC)
๐ฆ Automerge: Disabled by config. Please merge this manually once you are satisfied.
โป Rebasing: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.
๐ Ignore: Close this PR and you won't be reminded about this update again.
This PR was generated by Mend Renovate. View the repository job log.