Raw vector
CVSS:3.1/AV:N/AC:H/PR:L/UI:N/S:C/C:H/I:H/A:LSummary
CVE-2026-22037 is a high-severity Hex Encoding (CWE-177) vulnerability. Its CVSS base score is 8.4 (High).
Operationally, exploitation aligns with the MITRE ATT&CK technique Exploit Public-Facing Application (T1190); ranked at the 25th percentile by exploit likelihood (below the median); it is not currently listed in the CISA KEV catalog.
The strongest mitigations our analysis identified map to AC-25 (Reference Monitor) and AC-3 (Access Enforcement) — see the control section below for these in your framework.
Deeper analysis AI-assisted summary
Synthesised by an AI model from the NVD description and linked references — a reading aid, not an authoritative source.
CVE-2026-22037 is a security vulnerability in the @fastify/express plugin, which provides full Express compatibility to Fastify, affecting versions prior to 4.0.3. The issue allows middleware registered with a specific path prefix to be bypassed by using URL-encoded characters in requests, such as `/%61dmin` instead of `/admin`. The @fastify/express middleware engine fails to match the encoded path and skips execution, while the underlying Fastify router correctly decodes the path, matches the route handler, and processes the request. This mismatch arises from how @fastify/express handles path matching for middleware. The vulnerability is rated with a CVSS v3.1 base score of 8.4 (AV:N/AC:H/PR:L/UI:N/S:C/C:H/I:H/A:L) and is associated with CWE-177 (Incorrect Behavior Order: Early Validation) and CWE-288 (Authentication Bypass Using an Alternate Path or Channel). It is similar to but distinct from CVE-2026-22031 due to differences in the affected npm module.
An attacker with low privileges (PR:L) can exploit this vulnerability over the network (AV:N) by crafting requests with URL-encoded paths that evade middleware checks, such as authentication or authorization constraints, while still reaching the intended Fastify route handler. Exploitation requires high attack complexity (AC:H) but no user interaction (UI:N), enabling scope change (S:C) with high confidentiality and integrity impacts (C:H/I:H) and low availability impact (A:L). Successful exploitation grants unauthorized access to protected endpoints that would otherwise be restricted by the bypassed middleware.
The GitHub security advisory (GHSA-g6q3-96cp-5r5m) and the patching commit (dc02a3fe1387f945143f22597baa42557d549a40) confirm that version 4.0.3 of @fastify/express addresses the issue by fixing the path matching logic in the middleware engine. Security practitioners should upgrade to @fastify/express 4.0.3 or later to mitigate the vulnerability.
OWASP Top 10 for Web (2025)
EU & UK References
- 🇪🇺 ENISA EUVD: EUVD-2026-3320
Vulnerability Data
The @fastify/express plugin adds full Express compatibility to Fastify. A security vulnerability exists in @fastify/express prior to version 4.0.3 where middleware registered with a specific path prefix can be bypassed using URL-encoded characters (e.g., `/%61dmin` instead of `/admin`). While the…
more
middleware engine fails to match the encoded path and skips execution, the underlying Fastify router correctly decodes the path and matches the route handler, allowing attackers to access protected endpoints without the middleware constraints. The vulnerability is caused by how @fastify/express matches requests against registered middleware paths. This vulnerability is similar to, but differs from, CVE-2026-22031 because this is a different npm module with its own code. Version 4.0.3 of @fastify/express contains a patch fort the issue.
- CWE(s)
Related Threats
MITRE ATT&CK Enterprise Techniques
CVEs Like This One
Affected Assets
Mitigating Controls
Control response
—
—
- 7 hardening rules · 3 OS baselines
V1.2.2V6.4.3V6.6.1V12.1.3
Mitigating Controls (NIST 800-53 r5) AI
Requires a tamperproof, always-invoked reference monitor that structurally blocks bypass via any alternate path.
Enforces authorization checks on every logical access path, eliminating unauthenticated alternate channels.
Mandates unique identification and authentication for all organizational users, covering the primary authentication requirement.
Proper input validation requires decoding and checking URL-encoded data before use, directly stopping the weakness from being exploitable.
Controls all external and key internal interfaces, reducing the chance of unauthenticated alternate channels.
Mitigating Controls (NIST CSF 2.0) AI
Derived directly from the weakness types (CWEs) cited in the NVD entry via our AI-authored CWE→CSF cross-walk (authority under review) — links open the control.
Requiring authentication on every channel and path directly eliminates alternate-path bypasses.
Enforcing authorizations and least privilege across all access vectors prevents unauthenticated alternate paths.
Protecting networks and environments from unauthorized logical access blocks bypass via undocumented channels.
Secure SDLC practices directly require correct URL-encoding/decoding and input validation during development.
Mitigating Controls (ISO/IEC 27001:2022 Annex A) AI
Derived directly from the weakness types (CWEs) cited in the NVD entry via our AI-authored CWE→ISO cross-walk (authority under review) — links open the control.
Security testing in development catches URL-decoding flaws before release, but does not itself define coding rules.
Secure authentication control directly mitigates bypass by requiring strong, consistent authentication on all paths.
Access control policy directly addresses alternate authentication paths by requiring all channels to enforce authentication.
Authentication information management ensures credentials and mechanisms are consistently applied across all access paths.
Access rights provisioning and review prevent bypass via unmonitored or alternate channels.
Privileged access rights control reduces risk of bypass through elevated or alternate paths.
Hardening callouts derived
Configuration rules from DISA STIG baselines that bear on weaknesses of the type cited by this CVE. Each rule is shown with the relationship its mapping actually records, against the CWE it was authored against. Derived via CVE→CWE over `controls_xwalks` (authoritative rows only; rows rated `none` are excluded).
Oracle Linux 8 (2 rules)
- V-248598 There must be no ".shosts" files on the OL 8 operating system. prevents CWE-288
- V-248827 OL 8 must not have the rsh-server package installed. prevents CWE-288
Oracle Linux 9 (2 rules)
- V-271757 OL 9 file systems must not contain shosts.equiv files. prevents CWE-288
- V-271758 OL 9 file systems must not contain .shosts files. prevents CWE-288
RHEL 7 (3 rules)
- V-204440 Red Hat Enterprise Linux operating systems version 7.2 or newer using Unified Extensible Firmware Interface (UEFI) must require authentication upon booting into single-user and maintenance modes. prevents CWE-288
- V-204442 The Red Hat Enterprise Linux operating system must not have the rsh-server package installed. prevents CWE-288
- V-204424 The Red Hat Enterprise Linux operating system must not allow accounts configured with blank or null passwords. prevents CWE-288