CVE-2018-12116: High severity Nodejs Node.js vulnerability
A flaw was found in Node.js before 6.15.0 and 8.14.0. An 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.
References: https://nodejs.org/en/blog/vulnerability/november-2018-security-releases/
Other sources
CVE-2018-7167 Calling Buffer.fill() or Buffer.alloc() with some parameters can lead to a hang which could result in a Denial of Service. In order to address this vulnerability, the implementations of Buffer.alloc() and Buffer.fill() were updated so that they zero fill instead of hanging in these cases. All versions of Node.js 6.x (LTS "Boron"), 8.x (LTS "Carbon"), and 9.x are vulnerable. All versions of Node.js 10.x (Current) are NOT vulnerable. CVE-2018-12115 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. CVE-2018-12116 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.
— F5
Affected Software
Remediation
Recommended actions to resolve this vulnerability, in priority order.
- Upgrade
Upgrade to a fixed release to a version that resolves this vulnerability.
Fixed in 17.5.017.1.2.2 - Upgrade
Upgrade to a fixed release to a version that resolves this vulnerability.
Fixed in 16.1.6 - Upgrade
Upgrade to a fixed release to a version that resolves this vulnerability.
Fixed in 8.4.1 - Upgrade
Upgrade
redhat/nodejsto a version that resolves this vulnerability.Fixed in 8.14.0 - Upgrade
Upgrade
redhat/nodejsto a version that resolves this vulnerability.Fixed in 6.15.0 - Upgrade
Upgrade
node.jsto a version that resolves this vulnerability.Fixed in 6.15.0Patch CVE-2018-12115 - Upgrade
Upgrade
node.jsto a version that resolves this vulnerability.Fixed in 8.14.0Patch CVE-2018-12115 - Upgrade
Upgrade
node.jsto a version that resolves this vulnerability.Fixed in 6.14.4Patch CVE-2018-7167 - Upgrade
Upgrade
node.jsto a version that resolves this vulnerability.Fixed in 8.11.4Patch CVE-2018-7167 - Upgrade
Upgrade
node.jsto a version that resolves this vulnerability.Fixed in 10.9.0Patch CVE-2018-7167
Event History
Frequently Asked Questions
What is CVE-2018-12116?
CVE-2018-12116 is a vulnerability in Node.js that allows for HTTP request splitting.
How does CVE-2018-12116 affect Node.js?
CVE-2018-12116 affects all versions prior to Node.js 6.15.0 and 8.14.0.
What is the severity of CVE-2018-12116?
CVE-2018-12116 has a severity value of 7.5 (high).
How can I fix CVE-2018-12116?
To fix CVE-2018-12116, you need to update Node.js to version 6.15.0 or 8.14.0.
Where can I find more information about CVE-2018-12116?
You can find more information about CVE-2018-12116 on the following references: - Red Hat advisory: https://access.redhat.com/errata/RHSA-2019:1821 - Node.js blog: https://nodejs.org/en/blog/vulnerability/november-2018-security-releases/ - Gentoo Security: https://security.gentoo.org/glsa/202003-48