Mend.io Vulnerability Database
The largest open source vulnerability database
What is a Vulnerability ID?
New vulnerability? Tell us about it!
CVE-2026-24001
January 22, 2026
jsdiff is a JavaScript text differencing implementation. Prior to versions 8.0.3, 5.2.2, 4.0.4, and 3.5.1, attempting to parse a patch whose filename headers contain the line break characters "\r", "\u2028", or "\u2029" can cause the "parsePatch" method 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 "parsePatch" with 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 calling "parsePatch" on 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 "applyPatch" method 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 using "parsePatch". Other methods of the library are unaffected. Finally, a second and lesser interdependent 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 "parsePatch" O(n³) time to parse. Versions 8.0.3, 5.2.2, 4.0.4, and 3.5.1 contain a fix. As a workaround, do not attempt to parse patches that contain any of these characters: "\r", "\u2028", or "\u2029".
Affected Packages
https://github.com/kpdecker/jsdiff.git (GITHUB):
Affected version(s) >=v1.0.1 <v4.0.4
Fix Suggestion:
Update to version v4.0.4
https://github.com/kpdecker/jsdiff.git (GITHUB):
Affected version(s) >=v5.2.0 <v5.2.2
Fix Suggestion:
Update to version v5.2.2
https://github.com/kpdecker/jsdiff.git (GITHUB):
Affected version(s) >=v8.0.0 <v8.0.3
Fix Suggestion:
Update to version v8.0.3
diff (NPM):
Affected version(s) >=5.0.0 <5.2.2
Fix Suggestion:
Update to version 5.2.2
diff (NPM):
Affected version(s) >=4.0.0 <4.0.4
Fix Suggestion:
Update to version 4.0.4
diff (NPM):
Affected version(s) >=1.0.0 <3.5.1
Fix Suggestion:
Update to version 3.5.1
diff (NPM):
Affected version(s) >=6.0.0 <8.0.3
Fix Suggestion:
Update to version 8.0.3
Additional Notes
The description of this vulnerability differs from MITRE.
Do you need more information?
Contact Us
CVSS v4
Base Score:
2.7
Attack Vector
NETWORK
Attack Complexity
LOW
Attack Requirements
NONE
Privileges Required
NONE
User Interaction
NONE
Vulnerable System Confidentiality
NONE
Vulnerable System Integrity
NONE
Vulnerable System Availability
LOW
Subsequent System Confidentiality
NONE
Subsequent System Integrity
NONE
Subsequent System Availability
NONE
Exploit Maturity
UNREPORTED
CVSS v3
Base Score:
5.3
Attack Vector
NETWORK
Attack Complexity
LOW
Privileges Required
NONE
User Interaction
NONE
Scope
UNCHANGED
Confidentiality
NONE
Integrity
NONE
Availability
LOW
Weakness Type (CWE)
Inefficient Regular Expression Complexity
Uncontrolled Resource Consumption
EPSS
Base Score:
0.06