Node.js up to 6.14.x/8.13.x HTTP Request request smuggling
| CVSS Meta Temp Score | Current Exploit Price (≈) | CTI Interest Score |
|---|---|---|
| 7.1 | $0-$5k | 0.00 |
Summary
A vulnerability described as critical has been identified in Node.js up to 6.14.x/8.13.x. Affected is an unknown function of the component HTTP Request Handler. Executing a manipulation can lead to request smuggling. This vulnerability appears as CVE-2018-12116. The attack may be performed from remote. There is no available exploit. Upgrading the affected component is recommended.
Details
A vulnerability was found in Node.js up to 6.14.x/8.13.x (JavaScript Library). It has been declared as critical. This vulnerability affects an unknown code block of the component HTTP Request Handler. The manipulation with an unknown input leads to a request smuggling vulnerability. The CWE definition for the vulnerability is CWE-444. The product acts as an intermediary HTTP agent
(such as a proxy or firewall) in the data flow between two
entities such as a client and server, but it does not
interpret malformed HTTP requests or responses in ways that
are consistent with how the messages will be processed by
those entities that are at the ultimate destination. As an impact it is known to affect confidentiality, integrity, and availability. CVE summarizes:
Node.js: All versions prior to Node.js 6.15.0 and 8.14.0: HTTP request splitting: If Node.js can be convinced to use unsanitized user-provided Unicode data for the `path` option of an HTTP request, then data can be provided which will trigger a second, unexpected, and user-defined HTTP request to made to the same server.
The bug was discovered 11/28/2018. The weakness was presented 11/28/2018 as November 2018 Security Releases as confirmed blog post (Website). The advisory is available at nodejs.org. The public release was coordinated in cooperation with the vendor. This vulnerability was named CVE-2018-12116 since 06/11/2018. The attack can be initiated remotely. No form of authentication is required for a successful exploitation. The technical details are unknown and an exploit is not available. The advisory points out:
Node.js 6 and 8 are vulnerable and the severity is MEDIUM. If Node.js can be convinced to use unsanitized user-provided Unicode data for the path option of an HTTP request, then data can be provided which will trigger a second, unexpected, and user-defined HTTP request to made to the same server.
The vulnerability scanner Nessus provides a plugin with the ID 119511 (FreeBSD : node.js -- multiple vulnerabilities (2a86f45a-fc3c-11e8-a414-00155d006b02)), which helps to determine the existence of the flaw in a target environment. It is assigned to the family FreeBSD Local Security Checks and running in the context l. The commercial vulnerability scanner Qualys is able to test this issue with plugin 172114 (OpenSUSE Security Update for nodejs6 (openSUSE-SU-2019:0234-1)).
Upgrading to version 6.15.0, 8.14.0, 10.x or 11.x eliminates this vulnerability. A possible mitigation has been published immediately after the disclosure of the vulnerability.
The vulnerability is also documented in the databases at Tenable (119511) and SecurityFocus (BID 105758†). See VDB-126127, VDB-126937, VDB-127259 and VDB-127260 for similar entries. If you want to get best quality of vulnerability data, you may have to visit VulDB.
Product
Type
Name
Version
License
CPE 2.3
CPE 2.2
CVSSv4
VulDB Vector: 🔍VulDB Reliability: 🔍
CVSSv3
VulDB Meta Base Score: 7.4VulDB Meta Temp Score: 7.2
VulDB Base Score: 7.3
VulDB Temp Score: 7.0
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: Request smugglingCWE: CWE-444
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 |
Nessus ID: 119511
Nessus Name: FreeBSD : node.js -- multiple vulnerabilities (2a86f45a-fc3c-11e8-a414-00155d006b02)
Nessus File: 🔍
Nessus Risk: 🔍
Nessus Family: 🔍
Nessus Context: 🔍
Qualys ID: 🔍
Qualys Name: 🔍
Threat Intelligence
Interest: 🔍Active Actors: 🔍
Active APT Groups: 🔍
Countermeasures
Recommended: UpgradeStatus: 🔍
Reaction Time: 🔍
0-Day Time: 🔍
Exposure Time: 🔍
Upgrade: Node.js 6.15.0/8.14.0/10.x/11.x
Timeline
06/11/2018 🔍10/30/2018 🔍
11/28/2018 🔍
11/28/2018 🔍
11/28/2018 🔍
11/28/2018 🔍
11/29/2018 🔍
12/10/2018 🔍
04/15/2020 🔍
Sources
Advisory: November 2018 Security ReleasesStatus: Confirmed
Confirmation: 🔍
Coordinated: 🔍
CVE: CVE-2018-12116 (🔍)
GCVE (CVE): GCVE-0-2018-12116
GCVE (VulDB): GCVE-100-127258
SecurityFocus: 105758 - OpenSSL CVE-2018-0734 Side Channel Attack Information Disclosure Vulnerability
See also: 🔍
Entry
Created: 11/29/2018 07:42Updated: 04/15/2020 18:33
Changes: 11/29/2018 07:42 (77), 04/15/2020 18:33 (4)
Complete: 🔍
Cache ID: 216::103
If you want to get best quality of vulnerability data, you may have to visit VulDB.
No comments yet. Languages: en.
Please log in to comment.