CVE-2026-14198

@fastify/middie versions 9.1.0 through 9.3.2 decode the encoded slash %2F inside path parameter values before matching middleware paths, while Fastify's underlying router preserves the encoding during route lookup. The two layers disagree on the canonical request path, so the middleware fails to match a URL that the route handler does match. When middleware is used for authentication, authorization, rate limiting, or auditing on parameterized paths, an attacker can reach the protected handler by sending a single crafted URL with an encoded slash in the parameter position. The bypass is HTTP method agnostic and requires no authentication or special preconditions. Patches: upgrade to @fastify/middie 9.3.3. Workarounds: avoid parameterized middleware paths for security decisions, or enforce authentication at the route handler or via a Fastify hook that runs after the router has resolved the request.
Configurations

Configuration 1 (hide)

cpe:2.3:a:fastify:fastify\/middie:*:*:*:*:*:node.js:*:*

History

02 Jul 2026, 13:50

Type Values Removed Values Added
References () https://cna.openjsf.org/security-advisories.html - () https://cna.openjsf.org/security-advisories.html - Vendor Advisory
References () https://github.com/fastify/middie/security/advisories/GHSA-2v46-jxjm-7q3v - () https://github.com/fastify/middie/security/advisories/GHSA-2v46-jxjm-7q3v - Mitigation, Vendor Advisory
CPE cpe:2.3:a:fastify:fastify\/middie:*:*:*:*:*:node.js:*:*
First Time Fastify
Fastify fastify\/middie

01 Jul 2026, 12:16

Type Values Removed Values Added
New CVE

Information

Published : 2026-07-01 12:16

Updated : 2026-07-02 13:50


NVD link : CVE-2026-14198

Mitre link : CVE-2026-14198

CVE.ORG link : CVE-2026-14198


JSON object : View

Products Affected

fastify

  • fastify\/middie
CWE
CWE-436

Interpretation Conflict