7.5high

CVE-2018-7166

In all versions of Node.js 10 prior to 10.9.0, an argument processing flaw can cause `Buffer.alloc()` to return uninitialized memory.

Published 8 y ago · modified 29 d ago · JSON

CVSS
7.5
v3.1 · NVD
CISA KEV
No
not known exploited
EPSS
3.3%
percentile 89%
Public exploits
0
none known

Summary

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.

CISA SSVC assessment

Exploitation
none
Automatable
yes
Technical impact
partial
Assessed
29 d ago

Exploit prediction (EPSS)

3.29% probability of exploitation in the next 30 days, higher than 89% of all scored CVEs.

CVSS scores

Assigned byVersionScoreVector
NVD3.17.5CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:N/A:N
NVD2.05.0AV:N/AC:L/Au:N/C:P/I:N/A:N

Affected products

  • The Node.js Project Node.js

Classification

Weakness
  • CWE-226 Sensitive Information in Resource Not Removed Before Reuse
  • CWE-908 Use of Uninitialized Resource
Technology feeds
Node.js (RSS, critical only)

References

  • access.redhat.com /errata/RHSA-2018:2553 · vendor-advisory, x_refsource_REDHAT, x_transferred
  • nodejs.org /en/blog/vulnerability/august-2018-security-releases/ · x_refsource_CONFIRM, x_transferred

Sources

vulnwire keeps one entry per vulnerability: the CVE id wins, then GHSA; records that alias each other are merged. Machine-readable: JSON.