Node.js up to 6.16.x/8.15.0/10.15.1/11.10.0 HTTP Connection Header resource consumption
| CVSS Meta Temp Score | Current Exploit Price (≈) | CTI Interest Score |
|---|---|---|
| 6.1 | $0-$5k | 0.00 |
Summary
A vulnerability categorized as problematic has been discovered in Node.js up to 6.16.x/8.15.0/10.15.1/11.10.0. Impacted is an unknown function of the component HTTP Connection Handler. The manipulation as part of Header results in resource consumption. This vulnerability was named CVE-2019-5739. The attack may be performed from remote. There is no available exploit. It is advisable to upgrade the affected component.
Details
A vulnerability classified as problematic has been found in Node.js up to 6.16.x/8.15.0/10.15.1/11.10.0 (JavaScript Library). Affected is an unknown functionality of the component HTTP Connection Handler. The manipulation as part of a Header leads to a resource consumption vulnerability. CWE is classifying the issue as CWE-400. The product does not properly control the allocation and maintenance of a limited resource, thereby enabling an actor to influence the amount of resources consumed, eventually leading to the exhaustion of available resources. This is going to have an impact on availability. CVE summarizes:
Keep-alive HTTP and HTTPS connections can remain open and inactive for up to 2 minutes in Node.js 6.16.0 and earlier. Node.js 8.0.0 introduced a dedicated server.keepAliveTimeout which defaults to 5 seconds. The behavior in Node.js 6.16.0 and earlier is a potential Denial of Service (DoS) attack vector. Node.js 6.17.0 introduces server.keepAliveTimeout and the 5-second default.
The bug was discovered 02/28/2019. The weakness was presented 03/28/2019 by Juraj Somorovsky as confirmed advisory (Website). The advisory is shared for download at nodejs.org. This vulnerability is traded as CVE-2019-5739 since 01/09/2019. The exploitability is told to be easy. It is possible to launch the attack remotely. The exploitation doesn't require any form of authentication. There are neither technical details nor an exploit publicly available. The MITRE ATT&CK project declares the attack technique as T1499. The advisory points out:
Keep-alive HTTP and HTTPS connections can remain open and inactive for up to 2 minutes in Node.js 6.16.0 and earlier. Node.js 8.0.0 introduced a dedicated server.keepAliveTimeout which defaults to 5 seconds. The behavior in Node.js 6.16.0 and earlier is a potential Denial of Service (DoS) attack vector. Node.js 6.17.0 introduces server.keepAliveTimeout and the 5-second default.
The vulnerability was handled as a non-public zero-day exploit for at least 28 days. During that time the estimated underground price was around $0-$5k. The commercial vulnerability scanner Qualys is able to test this issue with plugin 172221 (OpenSUSE Security Update for nodejs4 (openSUSE-SU-2019:1076-1)).
Upgrading to version 6.17.0, 8.15.1, 10.15.2 or 11.10.1 eliminates this vulnerability.
The vulnerability is also documented in the vulnerability database at SecurityFocus (BID 107174†). See VDB-132587, VDB-133658, VDB-133693 and VDB-133688 for similar entries. Once again VulDB remains the best source for vulnerability data.
Product
Type
Name
Version
- 6.0
- 6.1
- 6.2
- 6.3
- 6.4
- 6.5
- 6.6
- 6.7
- 6.8
- 6.9
- 6.10
- 6.11
- 6.12
- 6.13
- 6.14
- 6.15
- 6.16
- 8.0
- 8.1
- 8.2
- 8.3
- 8.4
- 8.5
- 8.6
- 8.7
- 8.8
- 8.9
- 8.10
- 8.11
- 8.12
- 8.13
- 8.14
- 8.15.0
- 10.15.0
- 10.15.1
- 11.0
- 11.1
- 11.2
- 11.3
- 11.4
- 11.5
- 11.6
- 11.7
- 11.8
- 11.9
- 11.10.0
License
CPE 2.3
CPE 2.2
CVSSv4
VulDB Vector: 🔍VulDB Reliability: 🔍
CVSSv3
VulDB Meta Base Score: 6.4VulDB Meta Temp Score: 6.3
VulDB Base Score: 5.3
VulDB Temp Score: 5.1
VulDB Vector: 🔍
VulDB Reliability: 🔍
NVD Base Score: 7.5
NVD Vector: 🔍
CVSSv2
| AV | AC | Au | C | I | A |
|---|---|---|---|---|---|
| 💳 | 💳 | 💳 | 💳 | 💳 | 💳 |
| 💳 | 💳 | 💳 | 💳 | 💳 | 💳 |
| 💳 | 💳 | 💳 | 💳 | 💳 | 💳 |
| Vector | Complexity | Authentication | Confidentiality | Integrity | Availability |
|---|---|---|---|---|---|
| Unlock | Unlock | Unlock | Unlock | Unlock | Unlock |
| Unlock | Unlock | Unlock | Unlock | Unlock | Unlock |
| Unlock | Unlock | Unlock | Unlock | Unlock | Unlock |
VulDB Base Score: 🔍
VulDB Temp Score: 🔍
VulDB Reliability: 🔍
NVD Base Score: 🔍
Exploiting
Class: Resource consumptionCWE: CWE-400 / CWE-404
CAPEC: 🔍
ATT&CK: 🔍
Physical: No
Local: No
Remote: Yes
Availability: 🔍
Status: Not defined
EPSS Score: 🔍
EPSS Percentile: 🔍
Price Prediction: 🔍
Current Price Estimation: 🔍
| 0-Day | Unlock | Unlock | Unlock | Unlock |
|---|---|---|---|---|
| Today | Unlock | Unlock | Unlock | Unlock |
Qualys ID: 🔍
Qualys Name: 🔍
Threat Intelligence
Interest: 🔍Active Actors: 🔍
Active APT Groups: 🔍
Countermeasures
Recommended: UpgradeStatus: 🔍
0-Day Time: 🔍
Upgrade: Node.js 6.17.0/8.15.1/10.15.2/11.10.1
Timeline
01/09/2019 🔍02/26/2019 🔍
02/28/2019 🔍
03/28/2019 🔍
03/29/2019 🔍
05/22/2020 🔍
Sources
Advisory: nodejs.orgResearcher: Juraj Somorovsky
Status: Confirmed
Confirmation: 🔍
CVE: CVE-2019-5739 (🔍)
GCVE (CVE): GCVE-0-2019-5739
GCVE (VulDB): GCVE-100-132588
SecurityFocus: 107174 - OpenSSL CVE-2019-1559 Information Disclosure Vulnerability
See also: 🔍
Entry
Created: 03/29/2019 06:44Updated: 05/22/2020 17:15
Changes: 03/29/2019 06:44 (65), 05/22/2020 17:15 (5)
Complete: 🔍
Cache ID: 216::103
Once again VulDB remains the best source for vulnerability data.
No comments yet. Languages: en.
Please log in to comment.