This repository was archived by the owner on May 15, 2026. It is now read-only.
Update dependency diff to v5.2.2 [SECURITY] - #10740
Open
renovate[bot] wants to merge 1 commit into
Open
Conversation
renovate
Bot
force-pushed
the
renovate/npm-diff-vulnerability
branch
from
January 19, 2026 19:00
e737ffb to
f4335a5
Compare
renovate
Bot
force-pushed
the
renovate/npm-diff-vulnerability
branch
from
January 20, 2026 21:41
cfa4f07 to
f4335a5
Compare
renovate
Bot
force-pushed
the
renovate/npm-diff-vulnerability
branch
from
January 20, 2026 21:41
f4335a5 to
cfa4f07
Compare
renovate
Bot
force-pushed
the
renovate/npm-diff-vulnerability
branch
2 times, most recently
from
January 23, 2026 17:37
24538bc to
6b6c499
Compare
renovate
Bot
force-pushed
the
renovate/npm-diff-vulnerability
branch
from
February 2, 2026 15:29
6b6c499 to
f848b0f
Compare
renovate
Bot
force-pushed
the
renovate/npm-diff-vulnerability
branch
from
February 9, 2026 17:16
f848b0f to
20539ad
Compare
renovate
Bot
requested review from
daniel-lxs and
hannesrudolph
as code owners
February 9, 2026 17:16
renovate
Bot
force-pushed
the
renovate/npm-diff-vulnerability
branch
4 times, most recently
from
February 17, 2026 19:31
7eab3bd to
a72be17
Compare
renovate
Bot
force-pushed
the
renovate/npm-diff-vulnerability
branch
from
February 20, 2026 00:37
a72be17 to
ef93ce1
Compare
renovate
Bot
force-pushed
the
renovate/npm-diff-vulnerability
branch
from
March 5, 2026 15:54
ef93ce1 to
dba8f5c
Compare
renovate
Bot
force-pushed
the
renovate/npm-diff-vulnerability
branch
from
March 13, 2026 10:56
dba8f5c to
70fe09a
Compare
renovate
Bot
force-pushed
the
renovate/npm-diff-vulnerability
branch
2 times, most recently
from
March 30, 2026 21:42
70fe09a to
d6c3076
Compare
renovate
Bot
force-pushed
the
renovate/npm-diff-vulnerability
branch
from
April 8, 2026 14:48
d6c3076 to
f52a0df
Compare
renovate
Bot
force-pushed
the
renovate/npm-diff-vulnerability
branch
from
April 27, 2026 23:49
1b71c9b to
f52a0df
Compare
renovate
Bot
force-pushed
the
renovate/npm-diff-vulnerability
branch
from
April 27, 2026 23:49
f52a0df to
1b71c9b
Compare
renovate
Bot
force-pushed
the
renovate/npm-diff-vulnerability
branch
from
May 12, 2026 02:45
1b71c9b to
a345392
Compare
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 subscribe to this conversation on GitHub.
Already have an account?
Sign in.
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:
5.2.0→5.2.2jsdiff has a Denial of Service vulnerability in parsePatch and applyPatch
CVE-2026-24001 / GHSA-73rr-hh4g-fpgx
More information
Details
Impact
Attempting to parse a patch whose filename headers contain the line break characters
\r,\u2028, or\u2029can cause theparsePatchmethod to enter an infinite loop. It then consumes memory without limit until the process crashes due to running out of memory.Applications are therefore likely to be vulnerable to a denial-of-service attack if they call
parsePatchwith a user-provided patch as input. A large payload is not needed to trigger the vulnerability, so size limits on user input do not provide any protection. Furthermore, some applications may be vulnerable even when callingparsePatchon a patch generated by the application itself if the user is nonetheless able to control the filename headers (e.g. by directly providing the filenames of the files to be diffed).The
applyPatchmethod is similarly affected if (and only if) called with a string representation of a patch as an argument, since under the hood it parses that string usingparsePatch. Other methods of the library are unaffected.Finally, a second and lesser bug - a ReDOS - also exhibits when those same line break characters are present in a patch's patch header (also known as its "leading garbage"). A maliciously-crafted patch header of length n can take
parsePatchO(n³) time to parse.Patches
All vulnerabilities described are fixed in v8.0.3.
Workarounds
If using a version of jsdiff earlier than v8.0.3, do not attempt to parse patches that contain any of these characters:
\r,\u2028, or\u2029.References
PR that fixed the bug: https://github.com/kpdecker/jsdiff/pull/649
CVE Notes
Note that although the advisory describes two bugs, they each enable exactly the same attack vector (that an attacker who controls input to
parsePatchcan cause a DOS). Fixing one bug without fixing the other therefore does not fix the vulnerability and does not provide any security benefit. Therefore we assume that the bugs cannot possibly constitute Independently Fixable Vulnerabilities in the sense of CVE CNA rule 4.2.11, but rather that this advisory is properly construed under the rules as describing a single Vulnerability.Severity
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:UReferences
This data is provided by the GitHub Advisory Database (CC-BY 4.0).
Release Notes
kpdecker/jsdiff (diff)
v5.2.2Compare Source
v5.2.1Compare Source
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.