CVE-2019-9512: HTTP/2 Ping Flood Denial of Service in nodejs

nodejs Updated 02 Oct 2025

Summary

13/08/2019
Yes i
High
7.5

CVE-2019-9514: Some HTTP/2 implementations are vulnerable to ping floods, potentially leading to a denial of service. Affects nodejs across 2 version ranges.

< 10.16.3-r0 >= f76ce0a75641991bfc235775a4747c978e0e281b, < 5744b466c45d5324c60f122b02681813d4496749

Fixed in 10.16.3-r0. How to fix ↓

Also tracked for

The same CVE-2019-9514 is tracked separately for each ecosystem and vendor. Its fix information is the same; the package and affected versions differ.

Free scan

Check if this vulnerability affects your application

Upload a manifest or SBOM and we'll show whether you're affected, plus every other risky package in the same scan.

Check my app free

No signup required · Results in about 60 seconds

Sponsored Lume, the Habilume companion Habilume Habit tracker with a companion that grows with you Complete habits, earn Lume Points, and watch your Lume grow as you stay consistent. App Store Google Play

Background

Node.js is a popular JavaScript runtime built on Chrome's V8 JavaScript engine. It allows developers to build scalable network applications. The HTTP/2 protocol is supported by Node.js and provides improved performance and efficiency. However, some implementations of HTTP/2 in Node.js are vulnerable to ping floods, which can lead to a denial of service (DoS) attack. An attacker can continuously send pings to an HTTP/2 peer, causing the peer to build an internal queue of responses. This can consume excessive CPU and memory resources, potentially disrupting the normal functioning of the system.

Vulnerability Detail

The vulnerability, known as CVE-2019-9512, arises due to inefficient queuing of ping responses in HTTP/2 implementations. When an attacker sends a large number of pings, the target peer accumulates these requests in its internal queue. Depending on the efficiency of the queuing mechanism, this can result in high CPU and memory usage. As a consequence, the system may become unresponsive or experience performance degradation. The severity of this vulnerability is rated as 7.5 (CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H).

How To Fix

Minimum fixed version

10.16.3-r0

This is the first release that contains the fix.

sudo apk add --upgrade nodejs

Tip — Not sure which version your app runs? Vulert can match this fix to it. Scan free →

Workaround

As a workaround, if updating the Node.js package is not immediately feasible, it is possible to disable HTTP/2 support in the affected application. By disabling HTTP/2, the system will not be vulnerable to ping floods. However, this workaround may impact the performance and efficiency benefits provided by the HTTP/2 protocol. Here is an example of how to disable HTTP/2 in Node.js:

const http2 = require('http2');

const server = http2.createServer();

// Disable HTTP/2 support
server.on('stream', (stream, headers) => {
  stream.respond({
    ':status': 200,
    'content-type': 'text/plain'
  });
  stream.end('Hello World');
});

Conclusion

CVE-2019-9512 is a vulnerability in Node.js that affects the HTTP/2 implementation. It allows an attacker to perform a ping flood attack, potentially leading to a denial of service. To mitigate this vulnerability, it is recommended to update the affected Node.js package to version 10.16.3-r0 or later. Alternatively, HTTP/2 support can be temporarily disabled. For further assistance and support in vulnerability remediation, please contact DevNack.com.

See every vulnerability recorded for nodejs →

Share this vulnerability

FAQ

CVE-2019-9512 is a vulnerability in Node.js that affects the HTTP/2 implementation. It allows an attacker to perform a ping flood attack, potentially leading to a denial of service.

The impact of CVE-2019-9512 is a potential denial of service. An attacker can send continuous pings to an HTTP/2 peer, causing excessive CPU and memory usage, which can result in system unresponsiveness or performance degradation.

To fix CVE-2019-9512, update the affected Node.js package to version 10.16.3-r0 or later. This update includes the necessary fixes to address the vulnerability.

Yes, as a temporary workaround, you can disable HTTP/2 support in the affected application. However, this may impact the performance and efficiency benefits provided by the HTTP/2 protocol.

The severity of CVE-2019-9512 is rated as 7.5 (CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H), indicating a high level of severity.

References

View More

Related vulnerabilities

Recent vulnerabilities recorded for nodejs.

Sponsored Lume, the Habilume companion Habilume Habit tracker with a companion that grows with you Complete habits, earn Lume Points, and watch your Lume grow as you stay consistent. App Store Google Play

How To Fix

Minimum fixed version

10.16.3-r0

This is the first release that contains the fix.

sudo apk add --upgrade nodejs

Tip — Not sure which version your app runs? Vulert can match this fix to it. Scan free →

Subscribe to Vulert on Telegram
Daily digest of new CVEs, critical and high severity, affected packages and fixes — plus a weekly roundup.
Join the channel →
Help improve this record
Report an issue or send feedback