CVE-2026-29057: Next.js: HTTP request smuggling in rewrites
Summary When Next.js rewrites proxy traffic to an external backend, a crafted DELETE/OPTIONS request using Transfer-Encoding: chunked could trigger request boundary disagreement between the proxy and backend. This could allow request smuggling through rewritten routes.
Impact An attacker could smuggle a second request to unintended backend routes (for example, internal/admin endpoints), bypassing assumptions that only the configured rewrite destination/path is reachable. This does not impact applications hosted on providers that handle rewrites at the CDN level, such as Vercel.
Patches The vulnerability originated in an upstream library vendored by Next.js. It is fixed by updating that dependency’s behavior so content-length: 0 is added only when both content-length and transfer-encoding are absent, and transfer-encoding is no longer removed in that code path.
Workarounds If upgrade is not immediately possible: - Block chunked DELETE/OPTIONS requests on rewritten routes at your edge/proxy. - Enforce authentication/authorization on backend routes per our security guidance.
Other sources
Next.js is a React framework for building full-stack web applications. Starting in version 9.5.0 and prior to versions 15.5.13 and 16.1.7, when Next.js rewrites proxy traffic to an external backend, a crafted DELETE/OPTIONS request using Transfer-Encoding: chunked could trigger request boundary disagreement between the proxy and backend. This could allow request smuggling through rewritten routes. An attacker could smuggle a second request to unintended backend routes (for example, internal/admin endpoints), bypassing assumptions that only the configured rewrite destination/path is reachable. This does not impact applications hosted on providers that handle rewrites at the CDN level, such as Vercel. The vulnerability originated in an upstream library vendored by Next.js. It is fixed in Next.js 15.5.13 and 16.1.7 by updating that dependency’s behavior so content-length: 0 is added only when both content-length and transfer-encoding are absent, and transfer-encoding is no longer removed in that code path. If upgrading is not immediately possible, block chunked DELETE/OPTIONS requests on rewritten routes at the edge/proxy, and/or enforce authentication/authorization on backend routes.
— MITRE
Affected Software
Remediation
Event History
Frequently Asked Questions
What is the severity of CVE-2026-29057?
CVE-2026-29057 has a high severity due to the potential for request smuggling attacks.
How do I fix CVE-2026-29057?
To fix CVE-2026-29057, upgrade to Next.js version 15.5.13 or 16.1.7 or later.
What types of requests are affected by CVE-2026-29057?
CVE-2026-29057 affects crafted DELETE and OPTIONS requests that use Transfer-Encoding: chunked.
What can happen if CVE-2026-29057 is exploited?
Exploitation of CVE-2026-29057 could result in request smuggling, potentially leading to unauthorized actions on the backend.
Which versions of Next.js are vulnerable to CVE-2026-29057?
Versions of Next.js from 9.5.0 to 15.5.12 and versions from 16.0.0-beta.0 to 16.1.6 are vulnerable to CVE-2026-29057.