CVE-2026-64647: Next.js: Cache confusion of response bodies for requests with bodies containing invalid UTF-8 byte sequences
A server-side fetch with a request body may return a cached response body from a different request to the same URL but different body. Confidential data in the POST’s response body would then leak to unauthorized requests. Though the request itself will not be deduped.
This is only an issue when receiving request bodies with a content type charset other than UTF-8. For example, the UTF-16 byte sequences for 삃삃 and 섄섄 in the request body would share the same cache.
References
- github.com/advisories/GHSA-4633-3j49-mh5q
- github.com/vercel/next.js/commit/025bf4a5f7b47fb7758c4ebf1c931a61c451c082
- github.com/vercel/next.js/pull/96008
- github.com/vercel/next.js/releases/tag/v15.5.21
- github.com/vercel/next.js/releases/tag/v16.2.11
- github.com/vercel/next.js/security/advisories/GHSA-4633-3j49-mh5q
- nvd.nist.gov/vuln/detail/CVE-2026-64647
Code Behaviors & Features
Detect and mitigate CVE-2026-64647 with GitLab Dependency Scanning
Secure your software supply chain by verifying that all open source dependencies used in your projects contain no disclosed vulnerabilities. Learn more about Dependency Scanning →