Explore

Rule Explorer

Search the public rule index by CVE, GHSA, CWE, language, framework, author, or rule slug. Filter by language, framework, severity, confidence, license, and validation status.

Public rules
4797
Downloads
12.3M
Verified
4797
Authors
2
Search the rule indexUse CVE, GHSA, CWE, language, framework, package, or rule slug.
34 rules matched. Showing 24 loaded rules.
Publish rule
CVE-2026-79658: Unchecked Accept Language Parsecve-2026-79658-unchecked-accept-language-parse

Untrusted input passed to language.ParseAcceptLanguage or go-i18n NewLocalizer without validating length or separator counts ('-' and '_') can trigger quadratic-time parsing and cause denial of service (CVE-2026-79658).

by Provallyupdated 2026-09-02Apache-2.0
1.3K0 direct1.3K via packs
downloads
73quality
CVE-2026-69207: Hono Cors Redos Splitcve-2026-69207-hono-cors-redos-split

Splitting strings using a regex with whitespace tolerance like `/\s*,\s*/` can cause Regular Expression Denial of Service (ReDoS) when processing long inputs without commas. Use literal string splitting with `.split(',')` followed by `.map(s => s.trim())` instead.

by Provallyupdated 2026-09-02Apache-2.0
1.3K0 direct1.3K via packs
downloads
77quality
CVE-2026-62326: Python Regex Missing Timeout Redoscve-2026-62326-python-regex-missing-timeout-redos

Regular expression compiled from dynamic input is executed without enforcing a timeout. Untrusted regex patterns can cause catastrophic backtracking and Denial of Service (ReDoS). Pass `timeout=...` to regex execution methods or use a safe execution wrapper.

by Provallyupdated 2026-09-02Apache-2.0
1.3K0 direct1.3K via packs
downloads
80quality
CVE-2026-59922: Python Markdown Quadratic Regex Markercve-2026-59922-python-markdown-quadratic-regex-marker

Regular expressions using negative lookaheads for markdown text markers (e.g., `~~(?!~)`) can bypass intermediate boundaries in heavily chained contiguous token sequences. In a recursive descent parser, this collapse forces the engine to parse large blocks recursively, leading to O(N^2) CPU exhaustion DoS. Use iterative string search (`str.find`) with manual

by Provallyupdated 2026-09-02Apache-2.0
1.3K0 direct1.3K via packs
downloads
68quality
CVE-2026-59893: Sqlparse Dollar Quote Backref Redoscve-2026-59893-sqlparse-dollar-quote-backref-redos

Matching dollar-quoted strings or dynamic delimiters using a lazy dot-all regex with a backreference (e.g. `\$...[\s\S]*?\1`) leads to quadratic time complexity (ReDoS) when applied over unmatched delimiters. Use a linear, single-pass delimiter-resolution algorithm instead.

by Provallyupdated 2026-09-02Apache-2.0
1.3K0 direct1.3K via packs
downloads
68quality
CVE-2026-59887: Linkify It Redos Regexcve-2026-59887-linkify-it-redos-regex

Found a regular expression pattern using unbounded quantifiers (`+` or `*`) in a way that can lead to Regular Expression Denial of Service (ReDoS). An attacker can provide crafted input to cause catastrophic backtracking (O(n^2) complexity).

by Provallyupdated 2026-09-02Apache-2.0
1.3K0 direct1.3K via packs
downloads
73quality
CVE-2026-59094: Python Recursive Glob Doscve-2026-59094-python-recursive-glob-dos

A recursive function performs pattern matching branching with 'or' and without memoization. This can lead to evaluating overlapping subproblems multiple times, resulting in an exponential Time Complexity (Denial of Service) when evaluating strings containing many wildcards. Use dynamic programming with a memoization dictionary or a `@functools.cache` decorat

by Provallyupdated 2026-09-02Apache-2.0
1.3K0 direct1.3K via packs
downloads
77quality
CVE-2026-55620: Regex Fixpoint Loop Doscve-2026-55620-regex-fixpoint-loop-dos

Repeatedly applying regular expression substitution in a fixpoint loop until the string stops changing can cause quadratic O(N^2) running time on nested inputs, leading to CPU exhaustion Denial of Service (DoS). Replace the loop with a single-pass or stack-based parser.

by Provallyupdated 2026-09-02Apache-2.0
1.3K0 direct1.3K via packs
downloads
74quality
CVE-2026-55619: Iterative Regex Sub Doscve-2026-55619-iterative-regex-sub-dos

Repeatedly applying regular expression substitution in a `while` loop until no changes occur exhibits quadratic O(N^2) time complexity on deeply nested inputs, potentially causing a denial of service (DoS). Use a single-pass or stack-based parsing approach instead.

by Provallyupdated 2026-09-02Apache-2.0
1.3K0 direct1.3K via packs
downloads
71quality
CVE-2026-55574: Vllm Unbounded Regex Compilationcve-2026-55574-vllm-unbounded-regex-compilation

Compiling grammar regexes without a timeout can lead to ReDoS or Uncontrolled Resource Consumption via exponential state-space expansion during DFA construction. Wrap calls using `compile_regex_with_timeout` or another timeout guard.

by Provallyupdated 2026-09-02Apache-2.0
1.3K0 direct1.3K via packs
downloads
73quality
CVE-2026-55520: Python Wildcard To Regex Redoscve-2026-55520-python-wildcard-to-regex-redos

Translating wildcard patterns into regular expressions by mapping '*' to '.*?' or '.*' can lead to catastrophic backtracking (ReDoS) when evaluated against untrusted or complex inputs. Use non-regex string scanning (such as str.find/split) or a linear-time pattern matcher instead.

by Provallyupdated 2026-09-02Apache-2.0
1.3K0 direct1.3K via packs
downloads
74quality
CVE-2026-53504: Python Regex Overlapping Digit Quantifiers Redoscve-2026-53504-python-regex-overlapping-digit-quantifiers-redos

Overlapping digit matchers (`\d+\.\?\d*` or `[\d]+\.\?[\d]*`) inside regular expressions allow ambiguous partitioning of integer inputs. When evaluated inside repeated groups, this leads to catastrophic exponential backtracking (ReDoS) on non-matching strings. Replace optional dot and trailing digits with explicit non-capturing groups such as `(?:\.\d*)?`.

by Provallyupdated 2026-09-02Apache-2.0
1.3K0 direct1.3K via packs
downloads
68quality
CVE-2026-47138: Js Redos Adjacent Greedy Quantifiers On User Inputcve-2026-47138-js-redos-adjacent-greedy-quantifiers-on-user-input

Use of the Parse Server ClientSDK module (or an equivalent regex with two adjacent unbounded "+"-quantified character classes and no anchors, e.g. /([-a-zA-Z]+)([0-9\.]+)/) is susceptible to polynomial / catastrophic backtracking (ReDoS, CWE-1333). When the regex is applied to attacker-controlled input such as the X-Parse-Client-Version header or a _ClientVe

by Provallyupdated 2026-06-12Apache-2.0
3.6K0 direct3.6K via packs
downloads
83quality
CVE-2026-44796: Django Python Re Redoscve-2026-44796-django-python-re-redos

User input was passed directly to the standard Python `re` module. The standard `re` module is vulnerable to Regular Expression Denial of Service (ReDoS) when processing untrusted complex patterns, as it lacks a timeout mechanism. To fix this, consider using the third-party `regex` module which allows setting execution timeouts to protect against catastrophi

by Provallyupdated 2026-06-12Apache-2.0
3.6K0 direct3.6K via packs
downloads
81quality
CVE-2026-35458: Go Dlclark Regexp2 Compile Without Match Timeoutcve-2026-35458-go-dlclark-regexp2-compile-without-match-timeout

regexp2.Compile result is used without assigning a MatchTimeout. The github.com/dlclark/regexp2 engine supports backtracking and defaults MatchTimeout to math.MaxInt64 (no timeout). When the pattern source is attacker-controlled (e.g. parsed from a request header or form field), a crafted regex with nested quantifiers can cause exponential backtracking and h

by Provallyupdated 2026-06-12Apache-2.0
3.5K0 direct3.5K via packs
downloads
80quality
CVE-2026-35213: Redos In Regex Endingscve-2026-35213-redos-in-regex-endings

Overly broad, optional, or overlapping regex groups such as `(.*)?$` can cause catastrophic backtracking (ReDoS) leading to DoS. Use more specific character classes instead.

by Provallyupdated 2026-06-12Apache-2.0
3.6K0 direct3.6K via packs
downloads
71quality
CVE-2026-33169: Ruby Rails Number To Delimited Redoscve-2026-33169-ruby-rails-number-to-delimited-redos

Algorithmic complexity vulnerability (ReDoS) due to lookahead-heavy regex repeatedly evaluated via `gsub!`. The `NumberToDelimitedConverter` uses `gsub!` with a lookahead-based regular expression (`delimiter_pattern`) across the entire string without constraints, causing O(N^2) complexity on long digit strings. Ensure string manipulations on large untrusted

by Provallyupdated 2026-06-23Apache-2.0
3K0 direct3K via packs
downloads
80quality
CVE-2026-14895: Perl Redos Trimcve-2026-14895-perl-redos-trim

Trimming whitespace with `\s*` combined with anchors (`^` or `$`) can lead to catastrophic backtracking (ReDoS) when processing strings with large blocks of whitespace. Use `\s+` instead of `\s*` to prevent quadratic evaluation time.

by Provallyupdated 2026-09-02Apache-2.0
1.3K0 direct1.3K via packs
downloads
56quality
CVE-2026-2327: Redos Trailing Asteriskscve-2026-2327-redos-trailing-asterisks

The regular expression `/\*+$/` is vulnerable to Regular Expression Denial of Service (ReDoS). When evaluated against a long string of asterisks that does not end at the string boundary, the regular expression engine engages in catastrophic backtracking (O(N^2) complexity in many JavaScript engines). Use a manual backward iteration loop with `charCodeAt` or

by Provallyupdated 2026-06-23Apache-2.0
3.1K0 direct3.1K via packs
downloads
75quality
CVE-2025-61921: Ruby Redos Split Comma Whitespacecve-2025-61921-ruby-redos-split-comma-whitespace

Splitting an untrusted string with the regular expression `/\s*,\s*/` can lead to Regular Expression Denial of Service (ReDoS) or excessive CPU consumption. An attacker providing a maliciously crafted string (e.g., many consecutive spaces without commas) can trigger worst-case execution time in the regex engine. Instead, split by the comma character literall

by Provallyupdated 2026-06-12Apache-2.0
3.5K0 direct3.5K via packs
downloads
77quality
24 of 34 loaded