Regular Expression Denial of Service in debug
Affected releases · debug
- 4.x4.0.0 – 4.3.0Fixed in 4.3.1
- 3.x3.0.0 – 3.2.6Fixed in 3.2.7
- 2.x2.0.0 – 2.6.8Fixed in 2.6.9
- 1.x and older0.0.1 – 1.0.5No fix, no longer updated
On 4.x, the newest line:
npm install debug@4.3.1Every release on a timeline
Affected
4.0.0 – 4.3.0
6 releases
Fixed
4.3.1 – 4.4.3
11 releases, latest
Affected
3.0.0 – 3.0.1
2 releases
Fixed
3.1.0
1 release
Affected
3.2.0 – 3.2.6
7 releases
Fixed
3.2.7
1 release
Affected
2.0.0 – 2.6.8
28 releases
Fixed
2.6.9
1 release
Affected
1.0.0 – 1.0.5
6 releases
Affected
0.0.1 – 0.8.1
15 releases
What happens
Affected versions of debug are vulnerable to regular expression denial of service when untrusted user input is passed into the o formatter.
As it takes 50,000 characters to block the event loop for 2 seconds, this issue is a low severity issue.
This was later re-introduced in version v3.2.0, and then repatched in versions 3.2.7 and 4.3.1.
Recommendation
Version 2.x.x: Update to version 2.6.9 or later. Version 3.1.x: Update to version 3.1.0 or later. Version 3.2.x: Update to version 3.2.7 or later. Version 4.x.x: Update to version 4.3.1 or later.