Description
The package printf before 0.6.1 are vulnerable to Regular Expression Denial of Service (ReDoS) via the regex string /\%(?:\(([\w_.]+)\)|([1-9]\d*)\$)?([0 +\-\]*)(\*|\d+)?(\.)?(\*|\d+)?[hlL]?([\%bscdeEfFgGioOuxX])/g in lib/printf.js. The vulnerable regular expression has cubic worst-case time complexity.
Remediation
References
https://github.com/adaltas/node-printf/issues/31
https://github.com/adaltas/node-printf/pull/32
https://snyk.io/vuln/SNYK-JS-PRINTF-1072096
Related Vulnerabilities
CVE-2014-9772 Vulnerability in npm package validator
CVE-2022-0355 Vulnerability in npm package simple-get
CVE-2020-8203 Vulnerability in npm package @sailshq/lodash
CVE-2020-7760 Vulnerability in maven package org.webjars.bower:codemirror
CVE-2023-32007 Vulnerability in maven package org.apache.spark:spark-core_2.13