Nodejs, HTTP Request Smuggling, CVE-2023-30588 (Critical)

Listen to this Post

How the CVE Works:

CVE-2023-30588 is an HTTP request smuggling vulnerability in Node.js due to improper parsing of chunked transfer encoding headers. Attackers can exploit this by sending malformed HTTP requests with conflicting `Content-Length` and `Transfer-Encoding` headers. Node.js incorrectly processes these headers, leading to request smuggling where a single request is interpreted as multiple requests by the backend server. This allows attackers to bypass security controls, hijack sessions, or poison caches. The flaw arises from inconsistencies in the `llhttp` parser, which fails to enforce strict header validation.

DailyCVE Form:

Platform: Node.js
Version: <18.16.1, <20.3.1
Vulnerability: HTTP Request Smuggling
Severity: Critical
Date: 2023-06-22

Prediction: Patch expected by 2023-07-15

What Undercode Say:

curl -H "Transfer-Encoding: chunked" -H "Content-Length: 0" http://target
nmap -p 443 --script http-request-smuggling <target>

How Exploit:

1. Craft conflicting `Content-Length` and `Transfer-Encoding` headers.

2. Send malformed requests to Node.js servers.

3. Bypass authentication or poison caches.

Protection from this CVE:

  • Update to Node.js >=18.16.1 or >=20.3.1.
  • Use a reverse proxy with strict HTTP parsing.
  • Disable chunked encoding if unused.

Impact:

  • Session hijacking
  • Cache poisoning
  • Unauthorized data access

Sources:

Reported By: nvd.nist.gov
Extra Source Hub:
Undercode

Join Our Cyber World:

💬 Whatsapp | 💬 TelegramFeatured Image

Scroll to Top