<?xml version='1.0' encoding='UTF-8'?>
<?xml-stylesheet href="/static/style.xsl" type="text/xsl"?>
<rss xmlns:atom="http://www.w3.org/2005/Atom" xmlns:content="http://purl.org/rss/1.0/modules/content/" version="2.0">
  <channel>
    <title>Most recent entries from all</title>
    <link>https://db.gcve.eu</link>
    <description>Contains only the most 10 recent entries.</description>
    <docs>http://www.rssboard.org/rss-specification</docs>
    <generator>python-feedgen</generator>
    <language>en</language>
    <lastBuildDate>Fri, 16 Oct 2026 06:16:51 +0000</lastBuildDate>
    <item>
      <title>fkie_cve-2026-100409</title>
      <link>https://db.gcve.eu/vuln/fkie_cve-2026-100409</link>
      <description>&lt;p&gt;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.&lt;/p&gt;</description>
      <content:encoded>&lt;p&gt;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.&lt;/p&gt;</content:encoded>
      <guid isPermaLink="false">https://db.gcve.eu/vuln/fkie_cve-2026-100409</guid>
    </item>
    <item>
      <title>GHSA-2vc4-c4r6-p6v6 — OpenNext Cloudflare: Cache interception can bypass middleware protection for encoded paths</title>
      <link>https://db.gcve.eu/vuln/ghsa-2vc4-c4r6-p6v6</link>
      <description>&lt;p&gt;&lt;strong&gt;Affected:&lt;/strong&gt; npm: @opennextjs/cloudflare&lt;/p&gt;
&lt;p&gt;## Summary&lt;/p&gt;
&lt;p&gt;When cache interception is enabled, `@opennextjs/cloudflare` can interpret percent-encoded paths differently during middleware matching and cache lookup.&lt;/p&gt;
&lt;p&gt;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.&lt;/p&gt;
&lt;p&gt;`enableCacheInterception` is disabled by default.&lt;/p&gt;
&lt;p&gt;## Impact&lt;/p&gt;
&lt;p&gt;A remote unauthenticated attacker may retrieve cached content from routes intended to be protected by middleware.&lt;/p&gt;
&lt;p&gt;An application is affected when it:&lt;/p&gt;
&lt;p&gt;- explicitly enables `enableCacheInterception`;
- relies on middleware for access control; and
- has a matching cached route.&lt;/p&gt;
&lt;p&gt;## Details&lt;/p&gt;
&lt;p&gt;Middleware matching previously used the encoded request pathname, while cache interception decoded the pathname before selecting a cache entry.&lt;/p&gt;
&lt;p&gt;For example, consider an application with:&lt;/p&gt;
&lt;p&gt;- middleware matcher `/admin/:path*`;
- middleware returning `401 Authentication required` for `/admin`;
- a statically generated, cached `/admin` route; and
- cache interception enabled:&lt;/p&gt;
&lt;p&gt;```ts
export default defineCloudflareConfig({
  incrementalCache: staticAssetsIncrementalCache,
  enableCacheInterception: true,
});
```&lt;/p&gt;
&lt;p&gt;An attacker can request:&lt;/p&gt;
&lt;p&gt;```http
GET /%61dmin
```&lt;/p&gt;
&lt;p&gt;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:&lt;/p&gt;
&lt;p&gt;```http…&lt;/p&gt;</description>
      <content:encoded>&lt;p&gt;&lt;strong&gt;Affected:&lt;/strong&gt; npm: @opennextjs/cloudflare&lt;/p&gt;
&lt;p&gt;## Summary&lt;/p&gt;
&lt;p&gt;When cache interception is enabled, `@opennextjs/cloudflare` can interpret percent-encoded paths differently during middleware matching and cache lookup.&lt;/p&gt;
&lt;p&gt;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.&lt;/p&gt;
&lt;p&gt;`enableCacheInterception` is disabled by default.&lt;/p&gt;
&lt;p&gt;## Impact&lt;/p&gt;
&lt;p&gt;A remote unauthenticated attacker may retrieve cached content from routes intended to be protected by middleware.&lt;/p&gt;
&lt;p&gt;An application is affected when it:&lt;/p&gt;
&lt;p&gt;- explicitly enables `enableCacheInterception`;
- relies on middleware for access control; and
- has a matching cached route.&lt;/p&gt;
&lt;p&gt;## Details&lt;/p&gt;
&lt;p&gt;Middleware matching previously used the encoded request pathname, while cache interception decoded the pathname before selecting a cache entry.&lt;/p&gt;
&lt;p&gt;For example, consider an application with:&lt;/p&gt;
&lt;p&gt;- middleware matcher `/admin/:path*`;
- middleware returning `401 Authentication required` for `/admin`;
- a statically generated, cached `/admin` route; and
- cache interception enabled:&lt;/p&gt;
&lt;p&gt;```ts
export default defineCloudflareConfig({
  incrementalCache: staticAssetsIncrementalCache,
  enableCacheInterception: true,
});
```&lt;/p&gt;
&lt;p&gt;An attacker can request:&lt;/p&gt;
&lt;p&gt;```http
GET /%61dmin
```&lt;/p&gt;
&lt;p&gt;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:&lt;/p&gt;
&lt;p&gt;```http…&lt;/p&gt;</content:encoded>
      <guid isPermaLink="false">https://db.gcve.eu/vuln/ghsa-2vc4-c4r6-p6v6</guid>
    </item>
  </channel>
</rss>
