CVE-2026-104150
Awaiting Analysis Awaiting Analysis - Queue

ReDoS in AdonisJS HTTP Server via Slug Matcher

Vulnerability report for CVE-2026-104150, including description, CVSS score, EPSS score, affected products, exploitability, helpful resources, and attack-flow context.

Publication date: 2026-10-15

Last updated on: 2026-10-15

Assigner: GitHub, Inc.

Description

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 application applies this matcher to an attacker-controlled route parameter, a long slug ending in a character rejected by the final assertion causes quadratic backtracking and excessive CPU use. Route matching occurs before route and group middleware, so authentication or rate-limiting middleware attached to the route may not prevent an unauthenticated request from blocking the Node.js event loop and stopping the worker from serving unrelated requests or health checks. This issue is fixed in versions 8.2.2 and 9.1.1.

CVSS Scores

EPSS Scores

Probability:
Percentile:

Meta Information

Published
2026-10-15
Last Modified
2026-10-15
Generated
2026-10-19
AI Q&A
2026-10-16
EPSS Evaluated
2026-10-18
NVD
EUVD

Affected Vendors & Products

Showing 2 associated CPEs
Vendor Product Version / Range
adonisjs http-server < 8.2.2
adonisjs http-server >= 9.0.0, < 9.1.1

Helpful Resources

Exploitability

CWE
CWE Icon
KEV
KEV Icon
CWE ID Description
CWE-1333 The product uses a regular expression with a worst-case computational complexity that is inefficient and possibly exponential.
CWE-400 The product does not properly control the allocation and maintenance of a limited resource.

Attack-Flow Graph

AI Quick Actions

Instant insights powered by AI
Executive Summary

CVE-2026-104150 is a Regular Expression Denial of Service (ReDoS) vulnerability in the AdonisJS HTTP server's slug route matcher. It occurs due to a flawed regular expression in router.matchers.slug() that contains adjacent greedy repetitions with overlapping character classes. When an attacker sends a long slug ending in a rejected character, the regex triggers quadratic backtracking, consuming excessive CPU resources and blocking the Node.js event loop.

Detection Guidance

To detect this vulnerability, check if your application uses the AdonisJS HTTP server package versions before 8.2.2 or 9.1.1. Inspect route definitions for usage of router.matchers.slug() on attacker-controlled parameters like '/posts/:slug'. Monitor CPU usage spikes during requests to routes with slug matchers.

Impact Analysis

This vulnerability can cause severe performance degradation or complete denial of service for applications using the slug matcher. Attackers can send specially crafted URLs to consume excessive CPU, blocking the event loop and preventing the server from handling other requests, including health checks or authenticated traffic. Even without authentication, the attack can disrupt service for all users.

Compliance Impact

This vulnerability does not directly affect compliance with GDPR or HIPAA. However, it could indirectly impact compliance by causing service disruptions or downtime due to excessive CPU usage and blocked event loops, potentially leading to unauthorized access or data processing delays. Organizations must ensure their systems remain operational to meet regulatory requirements for availability and security.

Mitigation Strategies

Upgrade the AdonisJS HTTP server package to version 8.2.2 or 9.1.1 or later. Remove or replace any route matchers using router.matchers.slug() if not strictly necessary. Implement rate limiting or request size limits at the reverse proxy level as a temporary measure.

Chat Assistant

Ask questions about this CVE
Hi! I’m here to help you understand CVE-2026-104150. Ask me anything about the vulnerability, its impact, or mitigation strategies.
0/70

EPSS Chart