Bug 2014057 (CVE-2021-22959)

Summary: CVE-2021-22959 llhttp: HTTP Request Smuggling due to spaces in headers
Product: [Other] Security Response Reporter: Cedric Buissart <cbuissar>
Component: vulnerabilityAssignee: Red Hat Product Security <security-response-team>
Status: CLOSED ERRATA QA Contact:
Severity: low Docs Contact:
Priority: low    
Version: unspecifiedCC: bdettelb, caswilli, dkuc, fjansen, hhorak, jnakfour, jorton, kaycoth, lmorse, mrunge, nodejs-maint, nodejs-sig, sgallagh, thrcka, zsvetlik
Target Milestone: ---Keywords: Security
Target Release: ---   
Hardware: All   
OS: Linux   
Whiteboard:
Fixed In Version: llhttp 6.0.6, llhttp 2.1.4, node 12.22.7, node 14.18.1, node 16.11.1 Doc Type: If docs needed, set a value
Doc Text:
An HTTP Request Smuggling (HRS) vulnerability was found in the llhttp library, used by Node.JS. Spaces as part of the header names were accepted as valid. In situations where HTTP conversations are being proxied (such as proxy, reverse-proxy, load-balancer), an attacker can use this flaw to inject arbitrary messages through the proxy. The highest threat from this vulnerability is to confidentiality and integrity.
Story Points: ---
Clone Of: Environment:
Last Closed: 2022-02-01 22:32:13 UTC Type: ---
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:
Bug Depends On: 2014116, 2014117, 2014118, 2014119, 2014120, 2014121, 2014122, 2014123, 2014130, 2014131, 2014132, 2014133, 2014134, 2014499, 2027644, 2027648, 2027649, 2031773, 2086790, 2086792, 2086793, 2086794, 2087164    
Bug Blocks: 2014056    

Description Cedric Buissart 2021-10-14 11:56:23 UTC
The http parser accepts requests with a space (SP) right after the header name before the colon. This can lead to HTTP Request Smuggling (HRS).

The fix for this is included in llhttp v2.1.4 and v6.0.6.

Impacts:

    All versions of the 16.x, 14.x, and 12.x releases lines.

Comment 1 Cedric Buissart 2021-10-14 13:44:58 UTC
Created nodejs tracking bugs for this issue:

Affects: epel-all [bug 2014116]
Affects: fedora-all [bug 2014117]


Created nodejs:10/nodejs tracking bugs for this issue:

Affects: fedora-all [bug 2014118]


Created nodejs:12/nodejs tracking bugs for this issue:

Affects: fedora-all [bug 2014119]


Created nodejs:13/nodejs tracking bugs for this issue:

Affects: fedora-all [bug 2014120]


Created nodejs:14/nodejs tracking bugs for this issue:

Affects: fedora-all [bug 2014121]


Created nodejs:15/nodejs tracking bugs for this issue:

Affects: fedora-all [bug 2014122]


Created nodejs:16/nodejs tracking bugs for this issue:

Affects: fedora-all [bug 2014123]

Comment 3 Cedric Buissart 2021-10-14 16:52:14 UTC
HackerOne report (currently private) : https://hackerone.com/reports/1238099

Comment 12 errata-xmlrpc 2021-12-15 19:28:01 UTC
This issue has been addressed in the following products:

  Red Hat Enterprise Linux 8

Via RHSA-2021:5171 https://access.redhat.com/errata/RHSA-2021:5171

Comment 13 errata-xmlrpc 2022-01-06 18:40:03 UTC
This issue has been addressed in the following products:

  Red Hat Software Collections for Red Hat Enterprise Linux 7

Via RHSA-2022:0041 https://access.redhat.com/errata/RHSA-2022:0041

Comment 14 errata-xmlrpc 2022-01-25 09:23:51 UTC
This issue has been addressed in the following products:

  Red Hat Enterprise Linux 8.4 Extended Update Support

Via RHSA-2022:0246 https://access.redhat.com/errata/RHSA-2022:0246

Comment 15 errata-xmlrpc 2022-02-01 21:14:41 UTC
This issue has been addressed in the following products:

  Red Hat Enterprise Linux 8

Via RHSA-2022:0350 https://access.redhat.com/errata/RHSA-2022:0350

Comment 16 Product Security DevOps Team 2022-02-01 22:32:10 UTC
This bug is now closed. Further updates for individual products will be reflected on the CVE page(s):

https://access.redhat.com/security/cve/cve-2021-22959

Comment 17 Laurie Morse 2022-03-08 22:15:29 UTC
Will there be a fix for NodeJS 12?

Comment 18 Vít Ondruch 2022-03-11 13:54:16 UTC
(In reply to Laurie Morse from comment #17)
> Will there be a fix for NodeJS 12?

This CVE is rated as LOW, so there are not immediate plans to fix this. But it is quite likely we will be updating Node.js 12 around its EOL (as we did for Node.js 8 / 10), which should include the fix in the worst case.

Please contact Red Hat support should you need to help prioritize the fix.

Comment 19 errata-xmlrpc 2022-06-06 09:26:53 UTC
This issue has been addressed in the following products:

  Red Hat Software Collections for Red Hat Enterprise Linux 7

Via RHSA-2022:4914 https://access.redhat.com/errata/RHSA-2022:4914