CVE-2024-34350: Next.js Vulnerable to HTTP Request Smuggling
Impact Inconsistent interpretation of a crafted HTTP request meant that requests are treated as both a single request, and two separate requests by Next.js, leading to desynchronized responses. This led to a response queue poisoning vulnerability in the affected Next.js versions.
For a request to be exploitable, the affected route also had to be making use of the rewrites feature in Next.js.
Patches The vulnerability is resolved in Next.js 13.5.1 and newer. This includes Next.js 14.x.
Workarounds There are no official workarounds for this vulnerability. We recommend that you upgrade to a safe version.
References https://portswigger.net/web-security/request-smuggling/advanced/response-queue-poisoning
Other sources
Next.js is a React framework that can provide building blocks to create web applications. Prior to 13.5.1, an inconsistent interpretation of a crafted HTTP request meant that requests are treated as both a single request, and two separate requests by Next.js, leading to desynchronized responses. This led to a response queue poisoning vulnerability in the affected Next.js versions. For a request to be exploitable, the affected route also had to be making use of the rewrites feature in Next.js. The vulnerability is resolved in Next.js 13.5.1 and newer.
— MITRE
Affected Software
Event History
Frequently Asked Questions
What is the severity of CVE-2024-34350?
CVE-2024-34350 has been classified as a moderate severity vulnerability due to its potential for response queue poisoning.
How do I fix CVE-2024-34350?
To fix CVE-2024-34350, update Next.js to version 13.5.1 or later.
What versions of Next.js are affected by CVE-2024-34350?
CVE-2024-34350 affects Next.js versions between 13.4.0 and 13.5.0.
What type of vulnerability is CVE-2024-34350?
CVE-2024-34350 is a response queue poisoning vulnerability caused by inconsistent HTTP request handling.
Can CVE-2024-34350 be exploited remotely?
Yes, CVE-2024-34350 can potentially be exploited remotely through crafted HTTP requests.