CVE-2019-15604: Remotely trigger an assertion on a TLS server with a malformed certificate string
An encoding error flaw exists in the Node.js code that is used to read a peer certificate in the TLS client authentication. An attacker can use this flaw to crash the process used to handle TLS client authentication.
Other sources
Connecting to a NodeJS TLS server with a client certificate that has a type 19 string in its subjectAltName will crash the TLS server if it tries to read the peer certificate.
— Red Hat
Improper Certificate Validation in Node.js 10, 12, and 13 causes the process to abort when sending a crafted X.509 certificate
Remotely trigger an assertion on a TLS server with a malformed certificate string
— Node.Js
Affected Software
Remediation
Recommended actions to resolve this vulnerability, in priority order.
- Upgrade
Upgrade
redhat/rh-nodejs10-nodejsto a version that resolves this vulnerability.Fixed in 0:10.19.0-1.el7 - Upgrade
Upgrade
redhat/rh-nodejs12-nodejsto a version that resolves this vulnerability.Fixed in 0:12.16.1-1.el7 - Upgrade
Upgrade
debian/nodejsto a version that resolves this vulnerability.Fixed in 12.22.12~dfsg-1~deb11u4Fixed in 12.22.12~dfsg-1~deb11u5Fixed in 18.19.0+dfsg-6~deb12u2Fixed in 18.19.0+dfsg-6~deb12u1Fixed in 20.17.0+dfsg-2 - Upgrade
Upgrade
redhat/nodejsto a version that resolves this vulnerability.Fixed in 10.19.0 - Upgrade
Upgrade
redhat/nodejsto a version that resolves this vulnerability.Fixed in 12.15.0 - Upgrade
Upgrade
redhat/nodejsto a version that resolves this vulnerability.Fixed in 13.8.0 - Upgrade
Upgrade to a fixed release to a version that resolves this vulnerability.
Fixed in 10.19.0Fixed in 12.15.0Fixed in 13.8.0 - Upgrade
Upgrade to a fixed release to a version that resolves this vulnerability.
Fixed in 10.19.0 - Upgrade
Upgrade to a fixed release to a version that resolves this vulnerability.
Fixed in 12.15.0 - Upgrade
Upgrade to a fixed release to a version that resolves this vulnerability.
Fixed in 13.8.0 - Upgrade
Upgrade
alpine/nodejsto a version that resolves this vulnerability.Fixed in 10.19.0-r0 - Upgrade
Upgrade
alpine/nodejsto a version that resolves this vulnerability.Fixed in 12.15.0-r0 - Upgrade
Upgrade
alpine/nodejs-currentto a version that resolves this vulnerability.Fixed in 13.11.0-r0
Event History
Parent advisories
This vulnerability appears in the following advisories.
Frequently Asked Questions
What is CVE-2019-15604?
CVE-2019-15604 is a vulnerability in Node.js that causes the process to crash when handling TLS client authentication.
What is the severity of CVE-2019-15604?
The severity of CVE-2019-15604 is medium with a CVSS score of 5.9.
How does CVE-2019-15604 affect Node.js?
CVE-2019-15604 affects Node.js versions 10, 12, and 13, causing the process to crash when handling TLS client authentication.
How can I fix CVE-2019-15604 in Node.js?
To fix CVE-2019-15604 in Node.js, upgrade to the patched versions: 10.24.0~dfsg-1~deb10u1 or 10.24.0~dfsg-1~deb10u3 for Debian, 12.22.12~dfsg-1~deb11u3 or 12.22.12~dfsg-1~deb11u4 for Debian, and 18.13.0+dfsg1-1 for Ubuntu.
Where can I find more information about CVE-2019-15604?
You can find more information about CVE-2019-15604 on the following websites: HackerOne (https://hackerone.com/reports/746733), GitHub (https://github.com/nodejs/node/commit/f940bee3b7da865e28093472dee9ce664f273f6d), and Debian Security Tracker (https://security-tracker.debian.org/tracker/CVE-2019-15604).