CVE-2026-64647
Received Received - Intake

Next.js Cache Poisoning via Charset Mismatch in POST Requests

Vulnerability report for CVE-2026-64647, including description, CVSS score, EPSS score, affected products, exploitability, helpful resources, and attack-flow context.

Publication date: 2026-07-27

Last updated on: 2026-07-27

Assigner: GitHub, Inc.

Description

Next.js is a React framework for building full-stack web applications. In versions 12.0.0 through 15.5.20 and 16.0.0 through 16.2.10, 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. This issue has been fixed in versions 15.5.21 and 16.2.11.

CVSS Scores

EPSS Scores

Probability:
Percentile:

Meta Information

Published
2026-07-27
Last Modified
2026-07-27
Generated
2026-07-28
AI Q&A
2026-07-27
EPSS Evaluated
N/A
NVD
EUVD

Affected Vendors & Products

Showing 4 associated CPEs
Vendor Product Version / Range
vercel next.js From 12.0.0 (inc) to 15.5.20 (inc)
vercel next.js From 16.0.0 (inc) to 16.2.10 (inc)
vercel next.js 15.5.21
vercel next.js 16.2.11

Helpful Resources

Exploitability

CWE
CWE Icon
KEV
KEV Icon
CWE ID Description
CWE-116 The product prepares a structured message for communication with another component, but encoding or escaping of the data is either missing or done incorrectly. As a result, the intended structure of the message is not preserved.

Attack-Flow Graph

AI Quick Actions

Instant insights powered by AI
Executive Summary

This vulnerability affects Next.js versions 12.0.0 through 15.5.20 and 16.0.0 through 16.2.10. It involves a server-side fetch request with a body containing invalid UTF-8 byte sequences (like UTF-16) causing cache confusion. The server may return a cached response body from a different request to the same URL but with a different body, potentially leaking confidential data from a POST request's response to unauthorized requests.

Detection Guidance

To detect this vulnerability, check if your Next.js application uses versions 12.0.0 through 15.5.20 or 16.0.0 through 16.2.10. Inspect server-side fetch requests with non-UTF-8 encoded bodies, particularly those using UTF-16 or other charsets. Monitor for unexpected cached responses or data leaks in POST requests.

Impact Analysis

This vulnerability could lead to unauthorized access to confidential data. If an attacker sends a request with a specific UTF-16 encoded body, they might receive a cached response meant for a different request, exposing sensitive information. The impact is limited to requests with non-UTF-8 content types and does not affect the Pages Router.

Compliance Impact

This vulnerability could lead to unauthorized data exposure, violating GDPR's data protection principles and HIPAA's confidentiality requirements. Organizations using affected Next.js versions may face compliance risks due to potential leaks of sensitive user or patient data.

Mitigation Strategies

Upgrade Next.js to versions 15.5.21 or 16.2.11 or later. Ensure all fetch requests use UTF-8 encoded bodies. Review and update cache configurations to prevent response body leaks. Monitor for unusual data access patterns in cached responses.

Chat Assistant

Ask questions about this CVE
Hi! I’m here to help you understand CVE-2026-64647. Ask me anything about the vulnerability, its impact, or mitigation strategies.
0/70

EPSS Chart