Open
Description
Type of Issue
Potential Regular Expression Denial of Service (ReDoS)
Description
The vulnerable regular expressions are located in
fecs/lib/js/rules/valid-var-jsdoc.js
Line 28 in 6b01e8f
fecs/lib/js/rules/valid-var-jsdoc.js
Line 36 in 6b01e8f
The ReDOS vulnerabilities can be exploited with the following string
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA_
You can execute the following code to reproduce ReDos
var rule = require('../../../../lib/js/rules/valid-var-jsdoc');
var RuleTester = require('eslint').RuleTester;
var ruleTester = new RuleTester({parser: 'babel-eslint'});
ruleTester.run('valid-var-jsdoc', rule, {
invalid: [
'var AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA_ = 1;',
'const AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA_ = 1;',
],
});
I think you can limit the input length or modify this regex.
Metadata
Metadata
Assignees
Labels
No labels