HTTP Request Smuggling in llhttp

nodejs Updated 02 Oct 2025

Summary

15/11/2021
N/A
Yes i
Medium
6.5

CVE-2021-22959: The parser in accepts requests with a space (SP) right after the header name before the colon. Affects nodejs across 2 version ranges.

< 12.22.10-r0 < d6ea943d8d1c5092f4bf6e10a6a32cfb2dbeaae3

Fixed in 12.22.10-r0. How to fix ↓

Free scan

Check if this vulnerability affects your application

Upload a manifest or SBOM and we'll show whether you're affected, plus every other risky package in the same scan.

Check my app free

No signup required · Results in about 60 seconds

Upload your dependency manifest or SBOM

Drag & drop your file here or

Java Javascript PHP Python Go Rust Ruby Dart C/C++ Elixir CycloneDX SPDX

Upload a supported dependency manifest or SBOM. No installation or source-code access required.

See supported files and SBOM formats
SBOM sbom.json · bom.json · bom.xml · *.spdx.json · *.cdx.json · *.cdx.xml
Java pom.xml · gradle.lockfile · buildscript-gradle.lockfile
Javascript package-lock.json · yarn.lock · pnpm-lock.yaml
PHP composer.lock
Python poetry.lock · requirements.txt · Pipfile.lock
Go go.mod
Rust Cargo.lock
Ruby Gemfile.lock
Dart pubspec.lock
C/C++ conan.lock
Elixir mix.lock
Enter your work email to receive your report link.

Verify your email to view the full report and start 30 days of continuous monitoring. No credit card required.

Sponsored MarkAI Find prospects already talking about the problem you solve AI watches the communities your customers use to find qualified prospects, then alerts you when a conversation is worth joining. See MarkAI

Background

The llhttp package is a parser used for handling HTTP requests. It is commonly used in the Node.js ecosystem, specifically in the Alpine Linux distribution. The package is responsible for parsing incoming HTTP requests and extracting relevant information from them. However, a vulnerability has been discovered in llhttp versions prior to v2.1.4 and v6.0.6 that allows for HTTP Request Smuggling (HRS). This vulnerability occurs when the parser accepts requests with a space (SP) right after the header name before the colon. This can lead to potential security risks and unauthorized access to sensitive information.

Vulnerability Detail

The vulnerability, identified as CVE-2021-22959, allows an attacker to exploit the llhttp parser's acceptance of requests with a space after the header name. By manipulating the request headers, an attacker can perform HTTP Request Smuggling attacks. This can lead to various consequences, including bypassing security measures, unauthorized access to sensitive data, and potential injection attacks. The vulnerability affects llhttp versions prior to v2.1.4 and v6.0.6.

How To Fix

Minimum fixed version

12.22.10-r0

This is the first release that contains the fix.

sudo apk add --upgrade nodejs

Tip — Not sure which version your app runs? Vulert can match this fix to it. Scan free →

Workaround

Currently, there is no known workaround for this vulnerability. It is recommended to apply the fix by updating the llhttp package to the fixed version as mentioned in the 'how_to_fix' section.

Conclusion

The HTTP Request Smuggling vulnerability in llhttp versions prior to v2.1.4 and v6.0.6 can lead to potential security risks and unauthorized access to sensitive information. It is crucial to update the llhttp package to the fixed version as soon as possible to mitigate these risks. For further support on vulnerability remediation, please contact DevNack.com.

See every vulnerability recorded for nodejs →

Share this vulnerability

FAQ

llhttp is a parser used for handling HTTP requests in the Node.js ecosystem, specifically in the Alpine Linux distribution.

HTTP Request Smuggling (HRS) is a technique where an attacker manipulates the HTTP request headers to bypass security measures, gain unauthorized access, or perform injection attacks.

llhttp versions prior to v2.1.4 and v6.0.6 are affected by this vulnerability.

The potential consequences of this vulnerability include bypassing security measures, unauthorized access to sensitive data, and potential injection attacks.

To fix this vulnerability, update the llhttp package to version 2.1.4 or higher for llhttp v2.x.x and version 6.0.6 or higher for llhttp v6.x.x.

Related vulnerabilities

Recent vulnerabilities recorded for nodejs.

How To Fix

Minimum fixed version

12.22.10-r0

This is the first release that contains the fix.

sudo apk add --upgrade nodejs

Tip — Not sure which version your app runs? Vulert can match this fix to it. Scan free →

Subscribe to Vulert on Telegram
Daily digest of new CVEs, critical and high severity, affected packages and fixes — plus a weekly roundup.
Join the channel →
Help improve this record
Report an issue or send feedback