Cache interception in OpenNext Cloudflare bypasses middleware checks
Key facts
- Attack vector
- Network
- Privileges required
- None
- User interaction
- None
- Attack complexity
- Low
- Impact type
- —
- Confidentiality · integrity · availability
- High · None · None
- Fix status
- Fixed
Attack profile from CVSS 3.1 · CNA. Fix status from CNA and GitHub.
Summary
The @opennextjs/cloudflare npm package is affected from 0.3.0 before 1.20.2. It handles encoded pathnames inconsistently between middleware matching and cache lookup (CWE-180). An unauthenticated remote attacker can request a percent-encoded pathname that bypasses authorization middleware and returns cached content of a protected route when cache interception is enabled.
Written with Claude Haiku 5.5 from the sources below · 2026-10-28
Description from the CNA
OpenNext Cloudflare is an open Next.js adapter for Cloudflare. From 0.3.0 until 1.20.2, applications that enable enableCacheInterception, rely on middleware for access control, and have a matching cached protected route process encoded pathnames inconsistently between middleware matching and cache lookup. An unauthenticated attacker can use a percent-encoded pathname that does not match authorization middleware but decodes to the cache key of a protected route, causing cached content to be returned without authorization. Malformed encodings can also be partially decoded, allowing cache lookup to continue with a pathname that middleware did not evaluate consistently. This issue is fixed in version 1.20.2.
Why it matters now
SSVC decision points
CISA ADP · SSVC 2.0.3
- Exploitation
- None
- Automatable
- Yes
- Technical impact
- Partial
The decision (Track, Attend, Act) also depends on your mission and well-being impact; see CISA's SSVC guide.
Affected products
| Vendor | Product | Affected versions | Fixed in | Status | Source |
|---|---|---|---|---|---|
| opennextjs | opennextjs-cloudflare | 0.3.0 to before 1.20.2 | 1.20.2 | Patch available | CNA |
| — | @opennextjs/cloudflare (npm) | 0.3.0 to before 1.20.2 | 1.20.2 | Patch available | GHSA-2vc4-c4r6-p6v6 |
- opennextjs-cloudflare Vendoropennextjs Affected 0.3.0 to before 1.20.2 Fixed in 1.20.2 Patch available CNA
- @opennextjs/cloudflare (npm) Vendor— Affected 0.3.0 to before 1.20.2 Fixed in 1.20.2 Patch available GHSA-2vc4-c4r6-p6v6
Remediation
Upgrade @opennextjs/cloudflare to version 1.20.2. The sources list no fixed version for opennextjs-cloudflare.
Written with Claude Haiku 5.5 from the sources below · 2026-10-28
- Fix · CNA opennextjs-cloudflare (opennextjs) Fixed in 1.20.2
- Fix · GHSA-2vc4-c4r6-p6v6 @opennextjs/cloudflare (npm) Fixed in 1.20.2 Advisory →
Timeline
- 2026-10-16 Threatist record created from CVE-2026-100409
- 2026-10-16 Alias added: GHSA-2vc4-c4r6-p6v6
References
Other 6
- https://github.com/opennextjs/opennextjs-cloudflare/security/advisories/GHSA-2vc4-c4r6-p6v6
- https://github.com/opennextjs/opennextjs-aws/pull/1199
- https://github.com/opennextjs/opennextjs-aws/pull/1200
- https://github.com/opennextjs/opennextjs-cloudflare/commit/38ea40b669be272ddf09a7df7e70c69d0b57404b
- https://github.com/opennextjs/opennextjs-cloudflare/releases/tag/@opennextjs/[email protected]
- https://github.com/opennextjs/opennextjs-cloudflare
More opennextjs vulnerabilities
- TI-2025-05497 SSRF vulnerability in opennextjs-cloudflare via /_next/image endpoint CVSS 4.0HIGH 7.8
- TI-2026-02700 SSRF vulnerability in opennextjs-cloudflare via /cdn-cgi/ path normalization bypass CVSS 4.0HIGH 7.7
Sources
- CVE-2026-100409 · CVE Program
- CVE-2026-100409 · NVD
- FIRST EPSS
- GHSA-2vc4-c4r6-p6v6 · GitHub Advisory Database · CC BY 4.0
This product uses the NVD API but is not endorsed or certified by the NVD. Sources and licences