Regular Expression Denial of Service in debug
Published 9 Aug 2018 · Updated 10 Sept 2026
Affected packages
- Affected
- <2.6.9
- Fixed in
- 2.6.9
npm install debug@2.6.9- Affected
- >=3.0.0 <3.1.0
- Fixed in
- 3.1.0
npm install debug@3.1.0- Affected
- >=3.2.0 <3.2.7
- Fixed in
- 3.2.7
npm install debug@3.2.7- Affected
- >=4.0.0 <4.3.1
- Fixed in
- 4.3.1
npm install debug@4.3.1Details
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.
Is GHSA-gxpj-cx7g-858c in any of your client repos?
Checking one package by hand is fine. Checking it across forty client projects is not. NPMscan reads the lockfiles in every GitHub repo you pick, finds each project with an affected debug, and gives you the command that fixes it.
References
- Advisorynvd.nist.gov/vuln/detail/CVE-2017-16137
- Linkgithub.com/debug-js/debug/issues/797
- Linkgithub.com/visionmedia/debug/issues/501
- Linkgithub.com/visionmedia/debug/pull/504
- Linkgithub.com/debug-js/debug/commit/4e2150207c568adb9ead8f4c4528016081c88020
- Linkgithub.com/debug-js/debug/commit/71169065b5262f9858ac78cc0b688c84a438f290
- Linkgithub.com/debug-js/debug/commit/b6d12fdbc63b483e5c969da33ea6adc09946b5ac
- Linkgithub.com/debug-js/debug/commit/f53962e944a87e6ca9bb622a2a12dffc22a9bb5a
- Packagegithub.com/visionmedia/debug
- Linklists.apache.org/thread.html/r8ba4c628fba7181af58817d452119481adce4ba92e889c643e4c7dd3@%3Ccommits.netbeans.apache.org%3E
- Linklists.apache.org/thread.html/rb5ac16fad337d1f3bb7079549f97d8166d0ef3082629417c39f12d63@%3Cnotifications.netbeans.apache.org%3E
Advisory data from OSV.dev (opens OSV.dev in a new tab), refreshed daily.