CVE Catalog

CVE-2018-12115

HighCVSS 7.5
Published: Updated: Translated: NVD NIST

Exploitation Probability (EPSS)

Very high risk
8.09%

95th percentile - higher than 95% of all known CVEs

Summary

A vulnerability in Node.js before 6.14.4, 8.11.4 and 10.9.0 occurs with UCS-2 encoding (ucs2, ucs-2, utf16le, utf-16le). Buffer#write() can write outside the bounds of a single Buffer when writes start from the second-to-last position, causing a miscalculation of the maximum input byte length.

Risk Assessment

This may lead to memory corruption, application crashes, or potential code execution in the Node.js process context. The risk affects services processing input data with UCS-2 encoding.

Recommendation

Upgrade Node.js to 6.14.4, 8.11.4 or 10.9.0 (or later). Until patched, avoid UCS-2 encoding in Buffer#write() operations on user-supplied data.

Other vulnerabilities in Node.js

See all
Original NVD description (English source)

In all versions of Node.js prior to 6.14.4, 8.11.4 and 10.9.0 when used with UCS-2 encoding (recognized by Node.js under the names `'ucs2'`, `'ucs-2'`, `'utf16le'` and `'utf-16le'`), `Buffer#write()` can be abused to write outside of the bounds of a single `Buffer`. Writes that start from the second-to-last position of a buffer cause a miscalculation of the maximum length of the input bytes to be written.

Vulnerability data from NVD (NIST) · CISA KEV · EPSS