Description
@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.
Published: 2026-07-01
Score: 9.1 Critical
EPSS: < 1% Very Low
KEV: No
Impact: n/a
Action: n/a
AI Analysis

Impact

The vulnerability occurs because @fastify/middie decodes encoded slashes (%2F) in path parameter values before matching middleware routes, while Fastify’s router keeps the encoding during route resolution. This represents a CWE‑436 weakness, a failure to perform privilege and access control. The mismatch causes middleware that relies on the path parameter to fail to match, even though the target route handler still receives the request. When middleware is used for authentication, authorization, rate limiting, or auditing on parameterized paths, an attacker can bypass those controls by sending a single URL that contains an encoded slash in a parameter position. The exploit is HTTP‑method agnostic and does not require prior authentication.

Affected Systems

The affected product is @fastify/middie, with versions 9.1.0 through 9.3.2.

Risk and Exploitability

CVSS score of 9.1 indicates critical severity. EPSS score is less than 1%, implying a very low likelihood of exploitation. The vulnerability is not listed in the CISA KEV catalog. The attack requires no special conditions and can be carried out by any user who can send an HTTP request, using a single crafted URL that includes an encoded slash in a path parameter.

Generated by OpenCVE AI on August 3, 2026 at 06:07 UTC.

Remediation

No vendor fix or workaround currently provided.

OpenCVE Recommended Actions

  • Upgrade to @fastify/middie 9.3.3.
  • Avoid using parameterized paths in middleware for security decisions.
  • Move authentication, authorization, rate limiting, or auditing to the route handler or to a Fastify hook that runs after the router has resolved the request.

Generated by OpenCVE AI on August 3, 2026 at 06:07 UTC.

Tracking

Sign in to view the affected projects.

Advisories

No advisories yet.

History

Wed, 29 Jul 2026 16:15:00 +0000

Type Values Removed Values Added
First Time appeared Fastify
Fastify fastify/middie
Vendors & Products Fastify
Fastify fastify/middie

Wed, 01 Jul 2026 12:30:00 +0000

Type Values Removed Values Added
Metrics ssvc

{'options': {'Automatable': 'yes', 'Exploitation': 'none', 'Technical Impact': 'total'}, 'version': '2.0.3'}


Wed, 01 Jul 2026 11:45:00 +0000

Type Values Removed Values Added
Description @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.
Title @fastify/middie vulnerable to authorization bypass via encoded slash in path parameter values
Weaknesses CWE-436
References
Metrics cvssV3_1

{'score': 9.1, 'vector': 'CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:N'}


Subscriptions

Fastify Fastify/middie
cve-icon MITRE

Status: PUBLISHED

Assigner: openjs

Published:

Updated: 2026-07-01T12:10:29.571Z

Reserved: 2026-06-30T09:12:37.009Z

Link: CVE-2026-14198

cve-icon Vulnrichment

Updated: 2026-07-01T12:10:20.482Z

cve-icon NVD

No data.

cve-icon Redhat

No data.

cve-icon OpenCVE Enrichment

Updated: 2026-08-03T06:15:04Z

Weaknesses