Detects non-literal values in regular expressions

이 페이지는 아직 한국어로 제공되지 않으며 번역 작업 중입니다. 번역에 관한 질문이나 의견이 있으시면 언제든지 저희에게 연락해 주십시오.

Metadata

ID: typescript-node-security/detect-non-literal-regexp

Language: TypeScript

Severity: Warning

Category: Security

Description

Creating a regular expression with user input is a security vulnerability as it could lead to a Regular Expression Denial of Service attack. In this type of attack a user could submit a very complex regular expression that takes too long to execute.

If you have an advanced use case that requires regex evaluation with user input always make sure to sanitize the data and provide a safe timeout environment.

Non-Compliant Code Examples

var a = new RegExp(c, 'i');

Compliant Code Examples

const REGEX = "regex"

const a = new RegExp('ab+c', 'i');
const b = new RegExp(REGEX, 'i');
https://static.datadoghq.com/static/images/logos/github_avatar.svg https://static.datadoghq.com/static/images/logos/vscode_avatar.svg jetbrains

Seamless integrations. Try Datadog Code Analysis