Packages / debug / Security

LowVulnerabilityGHSA-gxpj-cx7g-858cCVE-2017-16137Published 9 Aug 2018

Regular Expression Denial of Service in debug

Your version

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.1
Every release on a timeline
4.x
  1. Affected

    4.0.0 – 4.3.0

    6 releases

  2. Fixed

    4.3.1 – 4.4.3

    11 releases, latest

3.x
  1. Affected

    3.0.0 – 3.0.1

    2 releases

  2. Fixed

    3.1.0

    1 release

  3. Affected

    3.2.0 – 3.2.6

    7 releases

  4. Fixed

    3.2.7

    1 release

2.x
  1. Affected

    2.0.0 – 2.6.8

    28 releases

  2. Fixed

    2.6.9

    1 release

1.x
  1. Affected

    1.0.0 – 1.0.5

    6 releases

0.x
  1. Affected

    0.0.1 – 0.8.1

    15 releases

78 stable releases of debug, oldest to newest, one row per major.

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.