CVE-2026-104150
8.7HighPublished 15 Oct 2026 · NVD status: Awaiting Analysis · AI triage by gemini-3.8-flash
- Attack vector
- Network
- Complexity
- Low
- Privileges needed
- None
- User interaction
- None
- Impact
- High impact on availability
- Weakness
- CWE-400, CWE-1333
Impact
Remote unauthenticated attackers can cause denial of service by blocking the Node.js event loop with crafted HTTP requests. They only need network access to any route utilizing the built-in slug matcher.
Root cause
The regular expression returned by router.matchers.slug() contains adjacent greedy repetitions with overlapping character classes, triggering catastrophic polynomial backtracking on malformed input.
Affected systems
AdonisJS HTTP Server (@adonisjs/http-server) prior to 8.2.2 and prior to 9.1.1
CVSS v4.0 · CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:N/VC:N/VI:N/VA:H/SC:N/SI:N/SA:N/E:X/CR:X/IR:X/AR:X/MAV:X/MAC:X/MAT:X/MPR:X/MUI:X/MVC:X/MVI:X/MVA:X/MSC:X/MSI:X/MSA:X/S:X/AU:X/R:X/V:X/RE:X/U:X
Fix & remediation
Upgrade @adonisjs/http-server to version 8.2.2 (for 8.x) or 9.1.1 (for 9.x). If patching cannot be done immediately, replace usage of router.matchers.slug() with custom, non-backtracking route parameter matchers.
$ npm install @adonisjs/http-server@latestAI-suggested. Run it in staging first and check it against the vendor advisory. Why?
NVD 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.
References
- https://github.com/adonisjs/http-server/commit/86af38ca861528f673dcac6a4806197de038d1f7
- https://github.com/adonisjs/http-server/commit/d8c749aa9f66d5d214bad1cad727264aef4be727
- https://github.com/adonisjs/http-server/releases/tag/v8.2.2
- https://github.com/adonisjs/http-server/releases/tag/v9.1.1
- https://github.com/adonisjs/http-server/security/advisories/GHSA-524c-h47v-m3h8