high7.5
CVE-2021-23354
printf vulnerable to Regular Expression Denial of Service (ReDoS)
Impact
The package printf before 0.6.1 are vulnerable to Regular Expression Denial of Service (ReDoS) via the regex string ```regex /\%(?:\(([\w_.]+)\)|([1-9]\d*)\$)?([0 +\-\]*)(\*|\d+)?(\.)?(\*|\d+)?[hlL]?([\%bscdeEfFgGioOuxX])/g ``` in `lib/printf.js`. The vulnerable regular expression has cubic worst-case time complexity.
Affected packages
| Ecosystem | Package | Affected | Fixed in |
|---|---|---|---|
| npm | printf | < 0.6.1 | 0.6.1 |
Affected products
| Vendor | Product | Affected versions |
|---|---|---|
| Adaltas | Printf | before 0.6.1 |
Weakness classification
References
- NVD record
- CVE.org record
- GitHub advisory
- https://github.com/adaltas/node-printf/issues/31
- https://github.com/adaltas/node-printf/pull/32
- https://snyk.io/vuln/SNYK-JS-PRINTF-1072096
- https://github.com/advisories/GHSA-xfhp-gmh8-r8v2
- https://nvd.nist.gov/vuln/detail/CVE-2021-23354
- https://github.com/adaltas/node-printf/commit/a8502e7c9b0b22555696a2d8ef67722086413a68