8000 Fix potential ReDoS (#37) · MylesBorins/ansi-regex@f006995 · GitHub
[go: up one dir, main page]

Skip to content

Commit f006995

Browse files
committed
Fix potential ReDoS (chalk#37)
This is a backport of chalk@8d1d7cd the test suite on the 3.0.0 branch is broken but I've manually verified that no additional tests are broken and that this patch fixes the REDOS
1 parent 0a8cc19 commit f006995

File tree

Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22

33
module.exports = () => {
44
const pattern = [
5-
'[\\u001B\\u009B][[\\]()#;?]*(?:(?:(?:[a-zA-Z\\d]*(?:;[a-zA-Z\\d]*)*)?\\u0007)',
5+
'[\\u001B\\u009B][[\\]()#;?]*(?:(?:(?:(?:;[-a-zA-Z\\d]\\/#&.:=?%@~_]+)*|[a-zA-Z\\d]+(?:;[a-zA-Z\\d]*)*)?\\u0007)',
66
'(?:(?:\\d{1,4}(?:;\\d{0,4})*)?[\\dA-PRZcf-ntqry=><~]))'
77
].join('|');
88