Regular expression built from user input detected.

Description

Applications should avoid constructing regular expressions from user input. Regular expressions can have exponential worst-case computational complexity, allowing users to trigger this behaviour can result in excessive CPU consumption causing a regular expression denial of service (ReDoS).

Remediations

❌ Avoid using untrusted or user data when building regular expressions

✅ Specify a timeout when working with regular expressions

  Regexp.new(/(a|b)/, timeout: 3)

Resources

Associated CWE

OWASP Top 10