HIGHCVSS v3.1 7.5Vulnerability

CVE-2026-100409

## Summary When cache interception is enabled, `@opennextjs/cloudflare` can interpret percent-encoded paths differently during middleware matching and cache lookup. An encoded request may fail to match authorization middleware, then be decoded into the cache key of a protected route. The cached response may consequently be returned without invoking the middleware. `enableCacheInterception` is disabled by default. ## Impact A remote unauthenticated attacker may retrieve cached content from routes intended to be protected by middleware. An application is affected when it: - explicitly enables `enableCacheInterception`; - relies on middleware for access control; and - has a matching cached route. ## Details Middleware matching previously used the encoded request pathname, while cache interception decoded the pathname before selecting a cache entry. For example, consider an application with: - middleware matcher `/admin/:path*`; - middleware returning `401 Authentication required` for `/admin`; - a statically generated, cached `/admin` route; and - cache interception enabled: ```ts export default defineCloudflareConfig({ incrementalCache: staticAssetsIncrementalCache, enableCacheInterception: true, }); ``` An attacker can request: ```http GET /%61dmin ``` The encoded pathname does not match `/admin/:path*`, so the authorization middleware is not invoked. Cache interception then decodes `%61dmin` to `admin` and may return the cached `/admin` response: ```http HTTP/1.1 200 OK x-opennext-cache: HIT Protected content ``` Malformed paths exposed an additional inconsistency. For example: ```http GET /%61dmin/%ZZ ``` The previous implementation decoded each segment independently. It decoded `%61dmin` to `admin` but retained the malformed `%ZZ` segment, allowing cache lookup to continue using a partially decoded pathname. ## Patches The fix aligns encoded-path handling across middleware matching and cache lookup, and rejects malformed paths instead of

Properties

Summary
OpenNext Cloudflare: Cache interception can bypass middleware protection for encoded paths
Severity
high
Nvd fetched at
2026-10-20T21:14:08.448323+00:00
Epss score
0.00305
Cvss score
7.5
Cvss severity
HIGH
Retrieved at
2026-10-21T01:24:48+00:00
Ghsa published
2026-10-15T20:15:17Z
Source url
https://github.com/advisories/GHSA-2vc4-c4r6-p6v6
Ghsa updated
2026-10-15T20:15:20Z
Ghsa id
GHSA-2vc4-c4r6-p6v6
Last source
FIRST EPSS
Score
7.5
Cvss version
3.1
Cve id
CVE-2026-100409
Cvss vector
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:N/A:N
First seen by Signal
2026-10-15T22:56:51+00:00
Is ghsa only
false
Vector
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:N/A:N
Published at
2026-10-15T17:17:07.923

Related Entities (4)

Explore deeper with Ninja Signal's threat intelligence graph

CVE-2026-100409 (CVSS v3.1 7.5) — Ninja Signal Threat Intelligence | Ninja Signal