GHSA-4633-3j49-mh5q
Next.js: Cache confusion of response bodies for requests with bodies containing invalid UTF-8 byte sequences
At a glance
- Published
- Updated
- CVE
- CVE-2026-64647
- CVSS_V4
- CVSS:4.0/AV:N/AC:H/AT:P/PR:N/UI:N/VC:L/VI:L/VA:N/SC:N/SI:N/SA:N
Description
## Impact 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. ## Workarounds If you cannot upgrade, consider only making fetch requests with UTF-8 bodies (default in Next.js). Applications using Pages Router are not vulnerable.
Affected packages
| Package | Versions |
|---|---|
| npm · next | introduced 13.0.0, fixed 15.5.21 |
| npm · next | introduced 16.0.0, fixed 16.2.11 |
References
- https://github.com/vercel/next.js/security/advisories/GHSA-4633-3j49-mh5q WEB
- https://github.com/vercel/next.js/pull/96008 WEB
- https://github.com/vercel/next.js/commit/025bf4a5f7b47fb7758c4ebf1c931a61c451c082 WEB
- https://github.com/vercel/next.js PACKAGE
- https://github.com/vercel/next.js/releases/tag/v15.5.21 WEB
- https://github.com/vercel/next.js/releases/tag/v16.2.11 WEB
Sources
| Source | Licence |
|---|---|
| OSV.dev | CC-BY 4.0 — GitHub Advisory Database |