VDB
KO
HIGH 7.5

GHSA-93q8-gq69-wqmw

Inefficient Regular Expression Complexity in chalk/ansi-regex

Quick fix

GHSA-93q8-gq69-wqmw — ansi-regex: upgrade to the fixed version with the command below.

npm install ansi-regex@6.0.1

Details

ansi-regex is vulnerable to Inefficient Regular Expression Complexity which could lead to a denial of service when parsing invalid ANSI escape codes.

**Proof of Concept** ```js import ansiRegex from 'ansi-regex'; for(var i = 1; i <= 50000; i++) { var time = Date.now(); var attack_str = "\u001B["+";".repeat(i*10000); ansiRegex().test(attack_str) var time_cost = Date.now() - time; console.log("attack_str.length: " + attack_str.length + ": " + time_cost+" ms") } ``` The ReDOS is mainly due to the sub-patterns `[[\\]()#;?]*` and `(?:;[-a-zA-Z\\d\\/#&.:=?%@~_]*)*`

Are you affected?

Enter the version of the package you're using.

Affected packages

npm / ansi-regex
Introduced in: 6.0.0 Fixed in: 6.0.1
Fix npm install ansi-regex@6.0.1
npm / ansi-regex
Introduced in: 5.0.0 Fixed in: 5.0.1
Fix npm install ansi-regex@5.0.1
npm / ansi-regex
Introduced in: 4.0.0 Fixed in: 4.1.1
Fix npm install ansi-regex@4.1.1
npm / ansi-regex
Introduced in: 3.0.0 Fixed in: 3.0.1
Fix npm install ansi-regex@3.0.1

References