# CVE-2018-12115: Node.js 4 and 2 others: Out-of-bounds Write

CVE-2018-12115 is fixed in 2 products on 2 platforms, first by Node.js 6 6.17.0, released February 28, 2019. 2 other affected products have no fix yet. It is not reported as exploited. Patch Radar priority: High.

- Web page: https://patchblox.com/security/cve/CVE-2018-12115
- Priority: High
- CVSS: 7.5 (Medium)
- EPSS: 0.0778
- CISA KEV: not listed
- Exploited (vendor report): no
- Publicly disclosed: no
- Published: Aug 21, 2018
- Weakness: CWE-787: Out-of-bounds Write
- Vendor advisory: https://nvd.nist.gov/vuln/detail/CVE-2018-12115

## Description

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.

## Where it's fixed

| Platform | Product | Fixed in | Fix | Released |
|---|---|---|---|---|
| Windows apps | Node.js 6 | 6.17.0 | [Node.js 6 6.17.0](https://patchblox.com/security/data/fix/windows-app/openjs.nodejs.6-6.17.0.md) | Feb 28, 2019 |
| Linux | nodejs Ubuntu 18.04.6 LTS (bionic) | 8.10.0~dfsg-2ubuntu0.4+esm1 | [nodejs 8.10.0~dfsg-2ubuntu0.4+esm1](https://patchblox.com/security/data/fix/linux/ubuntu-bionic-nodejs-8.10.0-dfsg-2ubuntu0.4-esm1.md) | Mar 28, 2019 |

## No fix yet

| Platform | Product | Status |
|---|---|---|
| Windows apps | Node.js 4 | no-fix |
| Windows apps | Node.js 8 | no-fix |

---

Data as of 2026-11-07T18:46:35Z UTC. Source: Patchblox Patch Radar (https://patchblox.com/security/patch-radar). Patchblox finds out-of-date software on Windows, macOS and Linux and updates it through release rings: https://patchblox.com/demo

Free to use with attribution: show "Data: Patchblox Patch Radar" with a link to https://patchblox.com/security/patch-radar. Terms, including what needs a written agreement: https://patchblox.com/security/patch-radar/use-the-data

Product names, logos and trademarks shown on Patch Radar belong to their respective owners. They are used only to identify the software each security fix applies to and to help readers find their platform. Their use does not imply any affiliation with, or endorsement by, those owners, and Patchblox is not affiliated with any of them.
