Monitor vulnerabilities like this one.
Sign up free to get alerted when software you use is affected.
6.3
Next.js: Attackers can sneak malicious requests through rewrites
GHSA-ggv3-7p47-pfv8
CVE-2026-29057
Summary
Next.js rewrites can be tricked into allowing attackers to send requests to unintended backend routes, potentially allowing unauthorized access. This is fixed in newer versions of Next.js, but if you can't upgrade, consider blocking chunked requests on rewritten routes or adding authentication to your backend routes.
What to do
- Update vercel-release-bot next to version 16.1.7.
- Update vercel-release-bot next to version 15.5.13.
Affected software
| Vendor | Product | Affected versions | Fix available |
|---|---|---|---|
| vercel-release-bot | next | > 16.0.0-beta.0 , <= 16.1.7 | 16.1.7 |
| vercel-release-bot | next | > 9.5.0 , <= 15.5.13 | 15.5.13 |
Original title
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...
Original description
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.
ghsa CVSS4.0
6.3
Vulnerability type
CWE-444
- https://github.com/vercel/next.js/security/advisories/GHSA-ggv3-7p47-pfv8
- https://github.com/vercel/next.js/commit/dc98c04f376c6a1df76ec3e0a2d07edf4abdabd...
- https://github.com/vercel/next.js/releases/tag/v15.5.13
- https://github.com/vercel/next.js/releases/tag/v16.1.7
- https://github.com/advisories/GHSA-ggv3-7p47-pfv8
Published: 18 Mar 2026 · Updated: 18 Mar 2026 · First seen: 17 Mar 2026