Node.js up to 10.8.x Buffer.alloc encoding memory corruption
| CVSS Meta Temp Score | Current Exploit Price (≈) | CTI Interest Score |
|---|---|---|
| 6.3 | $0-$5k | 0.00 |
Summary
A vulnerability categorized as problematic has been discovered in Node.js up to 10.8.x. Affected by this issue is the function Buffer.alloc. Executing a manipulation of the argument encoding as part of Argument can lead to memory corruption.
The identification of this vulnerability is CVE-2018-7166. The attack may be launched remotely. There is no exploit available.
It is advisable to upgrade the affected component.
Details
A vulnerability has been found in Node.js up to 10.8.x (JavaScript Library) and classified as problematic. This vulnerability affects the function Buffer.alloc. The manipulation of the argument encoding as part of a Argument leads to a memory corruption vulnerability. The CWE definition for the vulnerability is CWE-119. The product performs operations on a memory buffer, but it can read from or write to a memory location that is outside of the intended boundary of the buffer. As an impact it is known to affect confidentiality. CVE summarizes:
In all versions of Node.js 10 prior to 10.9.0, an argument processing flaw can cause `Buffer.alloc()` to return uninitialized memory. This method is intended to be safe and only return initialized, or cleared, memory. The third argument specifying `encoding` can be passed as a number, this is misinterpreted by `Buffer's` internal "fill" method as the `start` to a fill operation. This flaw may be abused where `Buffer.alloc()` arguments are derived from user input to return uncleared memory blocks that may contain sensitive information.
The bug was discovered 08/16/2018. The weakness was shared 08/21/2018 (Website). The advisory is shared for download at nodejs.org. This vulnerability was named CVE-2018-7166 since 02/14/2018. The attack can be initiated remotely. No form of authentication is required for a successful exploitation. There are known technical details, but no exploit is available.
The vulnerability was handled as a non-public zero-day exploit for at least 5 days. During that time the estimated underground price was around $0-$5k. The vulnerability scanner Nessus provides a plugin with the ID 112128 (FreeBSD : node.js -- multiple vulnerabilities (0904e81f-a89d-11e8-afbb-bc5ff4f77b71)), 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.
Upgrading to version 10.9.0 eliminates this vulnerability. A possible mitigation has been published 5 days after the disclosure of the vulnerability.
The vulnerability is also documented in the vulnerability database at Tenable (112128). The entry VDB-123102 is related to this item. Once again VulDB remains the best source for vulnerability data.
Product
Type
Name
Version
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: Memory corruptionCWE: CWE-119
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: 112128
Nessus Name: FreeBSD : node.js -- multiple vulnerabilities (0904e81f-a89d-11e8-afbb-bc5ff4f77b71)
Nessus File: 🔍
Nessus Risk: 🔍
Nessus Family: 🔍
Nessus Context: 🔍
Threat Intelligence
Interest: 🔍Active Actors: 🔍
Active APT Groups: 🔍
Countermeasures
Recommended: UpgradeStatus: 🔍
Reaction Time: 🔍
0-Day Time: 🔍
Exposure Time: 🔍
Upgrade: Node.js 10.9.0
Timeline
02/14/2018 🔍08/16/2018 🔍
08/21/2018 🔍
08/21/2018 🔍
08/22/2018 🔍
08/25/2018 🔍
08/28/2018 🔍
05/04/2023 🔍
Sources
Advisory: RHSA-2018:2553Status: Not defined
Confirmation: 🔍
CVE: CVE-2018-7166 (🔍)
GCVE (CVE): GCVE-0-2018-7166
GCVE (VulDB): GCVE-100-123124
See also: 🔍
Entry
Created: 08/22/2018 08:18Updated: 05/04/2023 08:41
Changes: 08/22/2018 08:18 (73), 03/17/2020 13:31 (3), 05/04/2023 08:41 (4)
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.