Do not use variable for regular expressions
このページは日本語には対応しておりません。随時翻訳に取り組んでいます。
翻訳に関してご質問やご意見ございましたら、
お気軽にご連絡ください。
ID: javascript-browser-security/regexp-non-literal
Language: JavaScript
Severity: Warning
Category: Security
CWE: 1333
Description
Regular expressions should not use a variable as an argument since an attacker may inject values and cause a regular expression denial of service (ReDoS). Instead, use a library like recheck to check that no ReDoS can be triggered by a regular expression.
Non-Compliant Code Examples
const foo = new RegExp(req.something);
const bar = new RegExp(variable);
Compliant Code Examples
const TAG = "<tag>";
const foo = new RegExp(`^\\d+-${topicId}$`);
const foo = new RegExp(/something/);
const foo = new RegExp("weofiwje");
const foo = new RegExp(TAG, 'g');