Skip to main content
VulnerabilityPublished

CVE-2026-29057: vercel next.js · HTTP Request/Response Smuggling

Affects vercel next.jsSource CVE Database V5

0
Compare

Not known to be exploited · CVSS 6.3 Medium : upgrade to 16.1.7 or 15.5.13 when convenient.

Data as of 30 Oct 2026, 11:52 UTC

CVSS 4.0 base score
6.3Medium
How severe the flaw is on the 0–10 CVSS scale.
EPSS
0.4% chance of exploitation in 30 days – higher than 39% of CVEsExploit Prediction Scoring System: the likelihood attackers will use this flaw soon.
Patch
Available – fixed in 16.1.7, 15.5.13
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

Exploitation evidence

  1. Disclosed: evidence found.

    CVE published 18 Mar 2026

  2. Detectable: no evidence on record.

    No public nuclei template indexed

  3. Weaponized: evidence found.

    Public exploit code: GitHub proofs of concept

  4. Exploited in the wild: no evidence on record.

    Not in CISA KEV and no source reports exploitation

  5. Observed by OffSeq Mirage: no evidence on record.

    No attack traffic recorded by OffSeq Mirage sensors

A missing step is not evidence of safety. Sources: cve.org (opens in a new tab), GitHub proofs of concept, the Metasploit, Exploit-DB and nuclei-templates index as of 30 Oct 2026.

What to do

Upgrade next.js and vercel/next.js to 16.1.7 or 15.5.13.

Affected software

ProductAffectedFixed in
vercelnext.jsAffected
  • >=16.0.0-beta.0 <16.1.7
Fixed in
  • 16.1.7
vercelnext.jsAffected
  • >=9.5.0 <15.5.13
Fixed in
  • 15.5.13
GitHubvercel/next.jspkg:github/vercel/next.jsOther threatsAffected
  • <15.5.13
  • <16.1.7
Fixed in
  • 15.5.13
  • 16.1.7

Check your own hosts for these packages with threat-finder (opens in a new tab), our free open-source scanner.

AI-suggested

  1. Upgrade Next.js to version 15.5.13 or later, or 16.1.7 or later, which include the fix for this vulnerability by correcting the handling of content-length and transfer-encoding headers during proxy rewrites.
  2. If upgrading is not immediately possible, implement edge or proxy-level controls to block HTTP DELETE and OPTIONS requests that use Transfer-Encoding: chunked on rewritten routes to prevent smuggling attempts.
  3. Enforce strict authentication and authorization on all backend routes, especially internal and administrative endpoints, to limit access even if request smuggling occurs.
  4. Conduct thorough security testing, including HTTP request smuggling tests, on applications using Next.js proxy rewrites to detect potential exploitation paths.
  5. Monitor web server and application logs for anomalous or malformed HTTP requests indicative of request smuggling attempts.
  6. Consider deploying Web Application Firewalls (WAFs) with rules specifically designed to detect and block HTTP request smuggling techniques.
  7. For deployments on cloud or CDN providers, verify that rewrites are handled at the CDN or edge level, which mitigates this vulnerability inherently.
  8. Educate development and operations teams about the risks of HTTP request smuggling and secure proxy configuration best practices to prevent similar issues.

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.

References

Community reviews

Loading reviews…