CyberSecBulletin

Inefficient Regular Expression Complexity

CWE-1333

The product uses a regular expression with a worst-case computational complexity that is inefficient and possibly exponential.

We track 263 vulnerabilities of this type. 100% are rated high or critical, and the average CVSS score is 7.6.

How this weakness is prevented

  • Architecture and Design: Use regular expressions that do not support backtracking, e.g. by removing nested quantifiers.
  • System Configuration: Set backtracking limits in the configuration of the regular expression implementation, such as PHP's pcre.backtrack_limit. Also consider limits on execution time for the process.
  • Implementation: Do not use regular expressions with untrusted input. If regular expressions must be used, avoid using backtracking in the expression.
  • Implementation: Limit the length of the input that the regular expression will process.

Latest Inefficient Regular Expression Complexity vulnerabilities

  • 8.2 High severity

    aiohttp: Inefficient Regular Expression Complexity

    CVE-2026-128124Aio-libs

    AIOHTTP is an asynchronous HTTP client/server framework for asyncio and Python. Prior to 3.14.4, Application.add_domain() converts every asterisk wildcard in a domain mask into a greedy regular-expression fragment, so a mask containing two or more wildcards ca

  • 7.5 High severity

    soupsieve: Inefficient Regular Expression Complexity

    CVE-2026-126191Facelessuser

    Soup Sieve is a CSS selector library designed to be used with Beautiful Soup 4. Prior to 3.0, the CSS_ESCAPES and IDENTIFIER regular-expression subpatterns can backtrack exponentially on runs of ambiguous digit escapes in an attribute-name or tag position of a

  • 8.8 High severity

    coreruleset: Inefficient Regular Expression Complexity

    CVE-2026-61619Coreruleset

    The OWASP core rule set (CRS) is a set of generic attack detection rules for use with compatible web application firewalls. Prior to versions 3.3.10, 4.25.1, and 4.28.0, regular-expression denial of service (ReDoS) affects a shared regex-assembly include used

  • 9.6 Critical severity

    API Connect: Inefficient Regular Expression Complexity

    CVE-2026-18535IBM

    IBM API Connect 10.0.8.0 through 10.0.8.12 and 12.1.0.0 through 12.1.1.2 are vulnerable to a Regular Expression Denial of Service (ReDoS) attack and to improper neutralisation of wildcard query operators.

  • 8.7 High severity

    symfony: Inefficient Algorithmic Complexity

    CVE-2026-123792Sensiolabs

    The Symfony Yaml components Inline and Parser, parse some YAML documents inefficiently, so that a small crafted document can take disproportionately long to process, keeping a PHP process busy for seconds or minutes, potentially causing a denial of service in

  • 7.5 High severity

    parse-server: Inefficient Regular Expression Complexity

    CVE-2026-123487Parse-community

    Parse Server before 8.6.115 and 9.0.0 before 9.10.7-alpha.1 validates user email address format with a regular expression whose run time grows quadratically with input length and that is applied without a length limit. An unauthenticated attacker who knows the

  • 7.5 High severity

    ring: Inefficient Regular Expression Complexity

    CVE-2026-62864Ring-clojure

    Ring is a Clojure web applications library inspired by Python's WSGI and Ruby's Rack. Prior to 1.15.5, `wrap-nested-params` in the `ring.middleware.nested-params` namespace uses a backtracking regular expression to match parameter names from URL query strings

  • 7.5 High severity

    content: Inefficient Regular Expression Complexity

    CVE-2026-119202Hapijs

    @hapi/content provides HTTP Content-* header parsing. From 3.0.6 until 6.0.3, Content.disposition() uses an unanchored parameter-name expression in a global regular-expression scan, causing repeated failed matching over the remaining input when a Content-Dispo

  • 7.5 High severity

    forge: Uncontrolled Resource Consumption

    CVE-2026-118779Digitalbazaar

    Forge (also called node-forge) is a native implementation of Transport Layer Security in JavaScript. Prior to 1.4.1, the affected implementation used pem.decode(), lib/pem.js, missing END line to process the relevant input or security decision. node-forge used

  • 7.5 High severity

    joi: Inefficient Regular Expression Complexity

    CVE-2026-118772Hapijs

    joi is a schema description language and data validator for JavaScript. From 17.1.1 until 17.13.9 and 18.3.1, the Joi.string().email({ multiple: true }) rule uses a separator regular expression whose leading whitespace quantifier is retried at every position i

  • 7.5 High severity

    espocrm: Inefficient Regular Expression Complexity

    CVE-2026-118686EspoCRM

    EspoCRM before 9.3.11 and 10.x before 10.0.8 contains a denial of service vulnerability in which the password-redaction regular expression applied during API error handling consumes excessive CPU on long request bodies. Unauthenticated remote attackers can con

  • 7.5 High severity

    re2js: Inefficient Algorithmic Complexity

    CVE-2026-116795Le0pard

    RE2JS is the JavaScript port of RE2, a regular expression engine that provides linear time matching. From 2.2.0 until 2.8.7, enabling LOOKBEHINDS and using repeated matching through matcher().find(), matchAll(), split(), or matcher().replaceAll() can cause qua

  • 7.5 High severity

    Telerik Document Processing Libraries: Unchecked Input for Loop Condition

    CVE-2026-118037Progress Software

    In Progress® Telerik® Document Processing Libraries prior to version 2026.3.1027, uncontrolled recursion, infinite loop, unchecked loop condition and inefficient regular expression vulnerabilities in RadSpreadProcessing and RadSpreadStreamProcessing allow an u

  • 8.7 High severity

    dd-trace-js: Inefficient Regular Expression Complexity

    CVE-2026-116693DataDog

    dd-trace is the Datadog APM client for Node.js. From 2.0.0 until 5.131.1 and 6.20.1, the default DD_TRACE_OBFUSCATION_QUERY_STRING_REGEXP can perform excessive backtracking on attacker-controlled URL query strings. The expression is applied synchronously while

  • 8.7 High severity

    dd-trace-py: Inefficient Regular Expression Complexity

    CVE-2026-116588DataDog

    Datadog dd-trace-py is the Datadog Python APM client. From 1.5.0 until 3.19.9 and 4.15.6, the default query-string obfuscation regular expression can exhibit excessive backtracking while synchronously processing attacker-controlled URL query strings for HTTP s

  • 7.5 High severity

    graphql-scalars: Inefficient Regular Expression Complexity

    CVE-2026-115887Graphql-hive

    GraphQL Scalars is a library of custom GraphQL scalars for creating precise type-safe GraphQL schemas. From 1.24.1 until 2.0.1, GraphQLPhoneNumber in src/scalars/PhoneNumber.ts uses ambiguous nested digit quantifiers that backtrack exponentially when a PhoneNu

  • 7.5 High severity

    @hapi/content: Inefficient Regular Expression Complexity

    CVE-2026-115728Hapijs

    @hapi/content from 6.0.1 before 6.0.3 contains a regular expression denial of service vulnerability in Content.disposition() caused by an incomplete fix for CVE-2026-35213. Unauthenticated remote attackers can send multipart uploads with a long Content-Disposi

  • 7.5 High severity

    mistune: Inefficient Regular Expression Complexity

    CVE-2026-115349Lepture

    Mistune from 3.0.0 before 3.3.0 contains an algorithmic complexity denial of service vulnerability in the parse_link_text function in src/mistune/helpers.py. Attackers can submit markdown with deeply nested square brackets triggering quadratic parsing time, ex

  • 7.5 High severity

    Pillow: Inefficient Regular Expression Complexity

    CVE-2026-112901Python-pillow

    Pillow is a Python imaging library. Prior to 13.0.0, Pillow's XBM header parser is vulnerable to regular-expression denial of service. In XbmImageFile._open, when an application calls Image.open() on a small crafted XBM file, XbmImagePlugin applies a backtrack

  • 7.5 High severity

    picomatch: Inefficient Regular Expression Complexity

    CVE-2026-112366Micromatch

    Picomatch through 4.0.7 contains a regular expression denial of service vulnerability that allows attackers to block the event loop by supplying single-branch repeated extglob patterns. Attackers can provide globs like +(*) or +(*a), which analyzeRepeatedExtgl

  • 8.7 High severity

    http-server: Uncontrolled Resource Consumption

    CVE-2026-104150Adonisjs

    AdonisJS HTTP Server is a package for handling HTTP requests in the AdonisJS framework. Prior to 8.2.2 and 9.1.1, the regular expression returned by router.matchers.slug() contains adjacent greedy repetitions with overlapping character classes. When an applica

  • 8.7 High severity

    symfony: Inefficient Regular Expression Complexity

    CVE-2026-108082Sensiolabs

    Symfony is a PHP framework for web and console applications and a set of reusable PHP components. Prior to versions 5.4.54, 6.4.46, 7.4.19, and 8.1.7, HeaderUtils::split() parsed header values with a pattern whose token alternative also matched whitespace, fol

  • 7.5 High severity

    nodemailer: Inefficient Regular Expression Complexity

    CVE-2026-110869Nodemailer

    Nodemailer 3.0.0 before 10.0.13 has a regular expression denial of service in SMTPConnection._actionEHLO, whose four AUTH mechanism detection regexes contain overlapping whitespace sub-patterns that backtrack quadratically. A malicious or man-in-the-middle SMT

  • 7.5 High severity

    GitPython: Inefficient Regular Expression Complexity

    CVE-2026-110856Gitpython-developers

    GitPython before 3.2.0 contains a regular expression denial of service vulnerability in the _re_actor_epoch pattern used by parse_actor_and_date on author, committer, and tagger lines. Attackers can serve repositories with commit or tag objects containing long

  • 7.5 High severity

    N3.js: Inefficient Regular Expression Complexity

    CVE-2026-109563Rdfjs

    N3.js before 2.11.1 contains a regular expression denial of service vulnerability in the N3Lexer number pattern that backtracks quadratically on long digit runs. Attackers can supply untrusted Turtle or N3 input containing long runs of digits that do not end a

  • 8.7 High severity

    quasar: Inefficient Regular Expression Complexity

    CVE-2026-106104Quasarframework

    Quasar Framework is a framework for building high-performance Vue.js user interfaces. Prior to 2.23.3, Platform.parseSSR() passed an unbounded User-Agent request header to getMatch() in ui/src/plugins/platform/Platform.js, whose browser-detection expressions c

  • 7.5 High severity

    payload: Uncontrolled Resource Consumption

    CVE-2026-105854PayloadCMS

    Payload is a free and open source headless content management system. In versions from 3.0.0 before 3.90.0 and canary versions before 4.0.0-canary.34, a malformed multipart request body can cause multipart Content-Type processing to take an extremely long time

  • 7.5 High severity

    mammoth.js: Inefficient Regular Expression Complexity

    CVE-2026-105219Mwilliamson

    Mammoth.js 1.3.0 before 1.12.3 contains a regular expression denial of service vulnerability in the style map tokeniser in lib/styles/parser/tokeniser.js due to overlapping regex alternatives. Attackers can supply a crafted .docx with an unterminated quoted st

  • 7.5 High severity

    probe-image-size: Uncontrolled Resource Consumption

    CVE-2026-104861Nodeca

    probe-image-size gets image dimensions without downloading the entire file. Prior to 7.4.0, lib/parse_sync/svg.js and lib/parse_stream/svg.js use the searching regular expression /<[-_.:a-zA-Z0-9][^>]*>/, which repeatedly scans to the end of input when attacke

  • 8.2 High severity

    Apache Thrift: Inefficient Algorithmic Complexity

    CVE-2026-96292Apache

    Inefficient regular expression complexity, Inefficient Algorithmic Complexity vulnerability in Apache Thrift Lua bindings. This issue affects Apache Thrift: before 0.25.0. Users are recommended to upgrade to version 0.25.0, which fixes the issue.

  • 8.2 High severity

    basic-ftp: Inefficient Regular Expression Complexity

    CVE-2026-102990Patrickjuchli

    basic-ftp is an FTP client for Node.js. Prior to 6.2.1, Client.list() can be forced by a malicious or compromised FTP server to spend quadratic CPU time parsing a directory listing because the RE_LINE expression in src/parseListUnix.ts backtracks across adjace

  • 7.5 High severity

    anchorme: Inefficient Regular Expression Complexity

    CVE-2026-103043Alexcorvi

    anchorme through 3.0.8 contains a regular expression denial of service vulnerability in the IPv6 host extraction regex due to catastrophic backtracking. Attackers can supply specially crafted input strings with repeated patterns to cause exponential regex engi

  • 8.2 High severity

    axios: Uncontrolled Resource Consumption

    CVE-2026-101906Axios

    Axios is a promise-based HTTP client for the browser and Node.js. From 1.15.0 until 1.20.0, Axios shouldBypassProxy applies a quadratic trailing-dot regular expression to redirect hostnames. HTTP_PROXY or HTTPS_PROXY is configured, NO_PROXY or no_proxy is non-

  • 8.2 High severity

    axios: Inefficient Regular Expression Complexity

    CVE-2026-101903Axios

    Axios is a promise-based HTTP client for the browser and Node.js. From 1.16.1 until 1.20.0, the RFC 2397 regular expression allows slash characters on both sides of the media-type separator. An application passes an attacker-controlled malformed data URL conta

  • 8.7 High severity

    Gerrit: Uncontrolled Resource Consumption

    CVE-2026-87722Gerrit

    Uncontrolled Resource Consumption (CWE-400 / CWE-1333) in regex search query predicates (such as RegexProjectPredicate, RegexRefPredicate, RegexPathPredicate, and sibling predicates) and REST regex filter endpoints (RegexListSearcher /projects/?r= and RefFilte

  • 7.5 High severity

    jline3: Inefficient Regular Expression Complexity

    CVE-2026-77423Jline

    JLine is a Java library for handling console input. From 3.0.0 until 3.30.15 and 4.3.1, the JLine built-in less viewer passes user-controlled search and display-filter patterns from getPattern(boolean doDisplayPattern) in builtins/src/main/java/org/jline/built

  • 7.5 High severity

    jline3: Inefficient Regular Expression Complexity

    CVE-2026-77422Jline

    JLine is a Java library for handling console input. From 3.0.0 until 3.30.15 and 4.3.1, the JLine built-in grep command in builtins/src/main/java/org/jline/builtins/PosixCommands.java accepts a user-controlled regular expression in grep(...) and, unless line-r

  • 7.5 High severity

    jackson-core: Uncontrolled Resource Consumption

    CVE-2026-89407FasterXML

    NumberInput.looksLikeValidNumber() in FasterXML jackson-core pre-validates "stringified numbers" with two regular expressions: PATTERN_FLOAT ([+-]?[0-9]*[\.]?[0-9]+([eE][+-]?[0-9]+)?), present since 2.17.0, and PATTERN_FLOAT_TRAILING_DOT, added in 2.17.2. PATT

  • 7.5 High severity

    Mongoid: Inefficient Regular Expression Complexity

    CVE-2026-93761MongoDB

    An inefficient regular expression complexity issue in the in-memory query evaluation component of the Mongoid library may allow an unauthenticated party to cause excessive processing within an embedding application process. Applications that place user-supplie

  • 7.5 High severity

    vendure: Inefficient Regular Expression Complexity

    CVE-2026-63460Vendurehq

    Vendure is an open-source headless commerce platform. Prior to 3.6.5, the public Shop GraphQL API allows an unauthenticated caller to supply a catastrophically backtracking pattern through StringOperators.regex. packages/core/src/service/helpers/list-query-bui