Some HTTP/2 implementations are vulnerable to a flood of empty frames, potentially leading to a denial of service
Some HTTP/2 implementations are vulnerable to a flood of empty frames, potentially leading to a denial of service. The attacker sends a stream of frames with an empty payload and without the end-of-stream flag. These frames can be DATA, HEADERS, CONTINUATION and/or PUSH_PROMISE. The peer spends time processing each frame disproportionate to attack bandwidth. This can consume excess CPU.
- Published
- Aug 13, 2019
- Updated
- Jun 16, 2026
- EPSS
- 25.4% · 98th percentile
- CWE
- CWE-400
Sign in to follow · You’ll be notified if a followed record enters KEV, gets an exploit or is updated.
Report tools
Action score
38
Monitor
Low priority for now.
- CVSS
- 30 / 40 · 7.5 / 10
- CISA KEV
- 0 / 30 · Not listed
- EPSS
- 8 / 30 · 25.4%
CNA vs NVD score
- NVD
- 7.5
- CNA · certcc
- 7.5
- agree
CVSS:3.0/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H
The score given by the assigning authority versus NVD’s independent score. A gap means the severity is contested.
Noroxi analysis
No Noroxi analysis for this record yet
We don't hand-write analysis for the hundreds of thousands of vulnerabilities in the database; that wouldn't be honest. For notable, high-impact vulnerabilities our team writes the mechanism, detection and remediation steps.
We use this product, ask for helpAffected systems
| Vendor | Product | CPE |
|---|---|---|
| apple | swiftnio | cpe:2.3:a:apple:swiftnio |
| apple | mac os x | cpe:2.3:o:apple:mac_os_x |
| canonical | ubuntu linux | cpe:2.3:o:canonical:ubuntu_linux |
| apache | traffic server | cpe:2.3:a:apache:traffic_server |
| debian | debian linux | cpe:2.3:o:debian:debian_linux |
| synology | skynas | cpe:2.3:a:synology:skynas |
| synology | diskstation manager | cpe:2.3:o:synology:diskstation_manager |
| synology | vs960hd firmware | cpe:2.3:o:synology:vs960hd_firmware |
| synology | vs960hd | cpe:2.3:h:synology:vs960hd |
| fedoraproject | fedora | cpe:2.3:o:fedoraproject:fedora |
| opensuse | leap | cpe:2.3:o:opensuse:leap |
| redhat | jboss core services | cpe:2.3:a:redhat:jboss_core_services |
and 8 more
Affected versions
NVD version ranges (for catalog products). Add the product to your stack with a version and matching uses these.
- nodejs node.js8.0.0 and later · up to 8.8.1 inclusive
- nodejs node.js8.9.0 and later · before 8.16.1
- nodejs node.js10.0.0 and later · up to 10.12.0 inclusive
- nodejs node.js10.13.0 and later · before 10.16.3
- nodejs node.js12.0.0 and later · before 12.8.1
Package-level exposure
OSV and GitHub Advisory data: ecosystem, package and range. SBOM matching uses this table.
| Ecosystem | Package | Affected range | Fix |
|---|---|---|---|
| AlmaLinux:8 | nodejs-nodemon | before 1.18.3-1.module_el8.3.0+2023+d2377ea3 | 1.18.3-1.module_el8.3.0+2023+d2377ea3 |
| AlmaLinux:8 | nodejs-nodemon | before 1.18.3-1.module_el8.3.0+2047+b07ac28e | 1.18.3-1.module_el8.3.0+2047+b07ac28e |
| AlmaLinux:8 | nodejs-packaging | before 17-3.module_el8.3.0+2023+d2377ea3 | 17-3.module_el8.3.0+2023+d2377ea3 |
| AlmaLinux:8 | nodejs-packaging | before 17-3.module_el8.4.0+2521+c668cc9f | 17-3.module_el8.4.0+2521+c668cc9f |
| AlmaLinux:8 | nodejs-packaging | before 17-3.module_el8.4.0+2224+b07ac28e | 17-3.module_el8.4.0+2224+b07ac28e |
| Alpine:v3.10 | nodejs | before 10.16.3-r0 | 10.16.3-r0 |
| Debian:10 | trafficserver | before 8.0.2+ds-1+deb10u1 | 8.0.2+ds-1+deb10u1 |
| Debian:12 | trafficserver | before 8.0.5+ds-1 | 8.0.5+ds-1 |
| openSUSE:Leap 15.0 | nodejs10 | before 10.16.3-lp151.2.6.1 | 10.16.3-lp151.2.6.1 |
| openSUSE:Leap 15.0 | nodejs8 | before 8.16.1-lp151.2.6.1 | 8.16.1-lp151.2.6.1 |
| Red Hat:enterprise_linux:8::appstream | nodejs | before 1:10.16.3-2.module+el8.0.0+4214+49953fda | 1:10.16.3-2.module+el8.0.0+4214+49953fda |
| Red Hat:enterprise_linux:8::appstream | nodejs-debuginfo | before 1:10.16.3-2.module+el8.0.0+4214+49953fda | 1:10.16.3-2.module+el8.0.0+4214+49953fda |
| Red Hat:enterprise_linux:8::appstream | nodejs-debugsource | before 1:10.16.3-2.module+el8.0.0+4214+49953fda | 1:10.16.3-2.module+el8.0.0+4214+49953fda |
| Red Hat:enterprise_linux:8::appstream | nodejs-devel | before 1:10.16.3-2.module+el8.0.0+4214+49953fda | 1:10.16.3-2.module+el8.0.0+4214+49953fda |
| Red Hat:enterprise_linux:8::appstream | nodejs-devel-debuginfo | before 1:10.16.3-2.module+el8.0.0+4214+49953fda | 1:10.16.3-2.module+el8.0.0+4214+49953fda |
| Red Hat:enterprise_linux:8::appstream | nodejs-docs | before 1:10.16.3-2.module+el8.0.0+4214+49953fda | 1:10.16.3-2.module+el8.0.0+4214+49953fda |
| Red Hat:enterprise_linux:8::appstream | nodejs-nodemon | before 0:1.18.3-1.module+el8+2632+6c5111ed | 0:1.18.3-1.module+el8+2632+6c5111ed |
| Red Hat:enterprise_linux:8::appstream | nodejs-packaging | before 0:17-3.module+el8+2873+aa7dfd9a | 0:17-3.module+el8+2873+aa7dfd9a |
| Red Hat:enterprise_linux:8::appstream | npm | before 1:6.9.0-1.10.16.3.2.module+el8.0.0+4214+49953fda | 1:6.9.0-1.10.16.3.2.module+el8.0.0+4214+49953fda |
| Red Hat:rhel_software_collections:3::el7 | rh-nodejs10 | before 0:3.2-3.el7 | 0:3.2-3.el7 |
| Red Hat:rhel_software_collections:3::el7 | rh-nodejs10-nodejs | before 0:10.16.3-3.el7 | 0:10.16.3-3.el7 |
| Red Hat:rhel_software_collections:3::el7 | rh-nodejs10-nodejs-debuginfo | before 0:10.16.3-3.el7 | 0:10.16.3-3.el7 |
| Red Hat:rhel_software_collections:3::el7 | rh-nodejs10-nodejs-devel | before 0:10.16.3-3.el7 | 0:10.16.3-3.el7 |
| Red Hat:rhel_software_collections:3::el7 | rh-nodejs10-nodejs-docs | before 0:10.16.3-3.el7 | 0:10.16.3-3.el7 |
+16
Same product
apple: all recordsOther highest-scoring records for the same primary product.
- CVE-2019-9515Some HTTP/2 implementations are vulnerable to a settings flood, potentially leading to a denial of service56Plan
- CVE-2019-9514Some HTTP/2 implementations are vulnerable to a reset flood, potentially leading to a denial of service55Plan
- CVE-2019-9512Some HTTP/2 implementations are vulnerable to ping floods, potentially leading to a denial of service55Plan
- CVE-2019-9513Some HTTP/2 implementations are vulnerable to resource loops, potentially leading to a denial of service54Plan
- CVE-2019-9511Some HTTP/2 implementations are vulnerable to window size manipulation and stream prioritization manipulation, potentially leading to a denial of service48Plan
- CVE-2019-9516Some HTTP/2 implementations are vulnerable to a header leak, potentially leading to a denial of service43Plan
Remediation
Which version to upgrade to
Fix versions compiled from the vendor, package registries and Microsoft. Verify the vendor's note before upgrading.
| Product / package | Fixed version | Source |
|---|---|---|
| almalinux:nodejs-nodemon | 1.18.3-1.module_el8.3.0+2023+d2377ea3 · AlmaLinux:8 | Package registry (OSV) |
| almalinux:nodejs-packaging | 17-3.module_el8.4.0+2224+b07ac28e · AlmaLinux:8 | Package registry (OSV) |
| alpine:nodejs | 10.16.3-r0 · Alpine:v3.10 | Package registry (OSV) |
| debian:trafficserver | 8.0.5+ds-1 · Debian:12 | Package registry (OSV) |
| opensuse:nodejs10 | 10.16.3-lp151.2.6.1 · openSUSE:Leap 15.0 | Package registry (OSV) |
| opensuse:nodejs8 | 8.16.1-lp151.2.6.1 · openSUSE:Leap 15.0 | Package registry (OSV) |
| red hat:nodejs | 1:10.16.3-2.module+el8.0.0+4214+49953fda · Red Hat:enterprise_linux:8::appstream | Package registry (OSV) |
| red hat:nodejs-debuginfo | 1:10.16.3-2.module+el8.0.0+4214+49953fda · Red Hat:enterprise_linux:8::appstream | Package registry (OSV) |
| red hat:nodejs-debugsource | 1:10.16.3-2.module+el8.0.0+4214+49953fda · Red Hat:enterprise_linux:8::appstream | Package registry (OSV) |
| red hat:nodejs-devel | 1:10.16.3-2.module+el8.0.0+4214+49953fda · Red Hat:enterprise_linux:8::appstream | Package registry (OSV) |
| red hat:nodejs-devel-debuginfo | 1:10.16.3-2.module+el8.0.0+4214+49953fda · Red Hat:enterprise_linux:8::appstream | Package registry (OSV) |
| red hat:nodejs-docs | 1:10.16.3-2.module+el8.0.0+4214+49953fda · Red Hat:enterprise_linux:8::appstream | Package registry (OSV) |
| red hat:nodejs-nodemon | 0:1.18.3-1.module+el8+2632+6c5111ed · Red Hat:enterprise_linux:8::appstream | Package registry (OSV) |
| red hat:nodejs-packaging | 0:17-3.module+el8+2873+aa7dfd9a · Red Hat:enterprise_linux:8::appstream | Package registry (OSV) |
| red hat:npm | 1:6.9.0-1.10.16.3.2.module+el8.0.0+4214+49953fda · Red Hat:enterprise_linux:8::appstream | Package registry (OSV) |
| red hat:rh-nodejs10 | 0:3.2-3.el7 · Red Hat:rhel_software_collections:3::el7 | Package registry (OSV) |
| red hat:rh-nodejs10-nodejs | 0:10.16.3-3.el7 · Red Hat:rhel_software_collections:3::el7 | Package registry (OSV) |
| red hat:rh-nodejs10-nodejs-debuginfo | 0:10.16.3-3.el7 · Red Hat:rhel_software_collections:3::el7 | Package registry (OSV) |
| rocky linux:nodejs-nodemon | 0:1.18.3-1.module+el8.3.0+101+f84c7154 · Rocky Linux:8 | Package registry (OSV) |
| rocky linux:nodejs-packaging | 0:17-3.module+el8.3.0+101+f84c7154 · Rocky Linux:8 | Package registry (OSV) |
| suse:nodejs10 | 10.16.3-1.12.1 · SUSE:Linux Enterprise Module for Web and Scripting 12 | Package registry (OSV) |
| suse:nodejs12 | 12.13.0-1.3.1 · SUSE:Linux Enterprise Module for Web and Scripting 12 | Package registry (OSV) |
| suse:nodejs8 | 8.16.1-3.20.1 · SUSE:Linux Enterprise Module for Web and Scripting 15 | Package registry (OSV) |
Exploit status
No known public exploit
No public exploit has been observed yet. That doesn't mean you're safe, only that the bar is a little higher.
Research context
For pentesters and researchers: attack profile, score disagreement, timeline, patch commits, credits, variant and chain candidates, bug bounty scope. All derived from existing data; no exploit code.
Timeline
From publication to today: proof of concept, Metasploit module, CISA KEV and fix record. Dates are as reported by the sources.
No dated events beyond publication.
FIRST EPSS daily score; only changes of 0.01 or more are recorded (step chart).
Patch and commit links
Commit, PR and diff links among the references. A starting point for patch-diffing and variant hunting; fixes, not exploits.
No commit or PR link among the references.
Credits
All researchersFinders, reporters and analysts named in the CNA record. Click a name for that researcher’s other records.
- Piotr SikoraGoogle for reporting this vulnerability.
Variant candidates
Same product, same weakness class, within 18 months. If the patch missed the root cause, the sibling bug is here.
No nightly-computed relations.
Chain candidates
An authentication bypass and a privilege-requiring bug in the same product, published close together: combined they may become an unauthenticated path.
—
Bug bounty scope
No known public program.
Source: bounty-targets-data (public HackerOne, Bugcrowd, Intigriti, YesWeHack listings).
Technical details
Attack conditions
- Anyone who can reach it over the internet can trigger it.
- No account or password is required.
- No user action is required.
- No special conditions are required; it is repeatable.
If successful
- Confidentiality
- none
- Integrity
- none
- Availability
- high · the service can be disrupted
- Attack vector
- Network
- Attack complexity
- Low
- Privileges required
- None
- User interaction
- None
- Scope
- Unchanged
- Confidentiality impact
- None
- Integrity impact
- None
- Availability impact
- High
Weakness class (CWE)
CWE-400 · Uncontrolled Resource ConsumptionCVSS vector
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H
nvd-primary
Root cause
Code that parses nested structures sets no depth or size limit. A small input can turn into a disproportionate processing load.
The bug in code
The whole CWE-400 classA representative example of this vulnerability class. Not the vendor's source code; it shows the faulty pattern and its fix.
Vulnerable
function expand(node) { return node.children.map(expand);}Fixed
const MAX_DEPTH = 32;function expand(node, depth = 0) { if (depth > MAX_DEPTH) throw new Error("too deep"); return node.children.map((c) => expand(c, depth + 1));}Attack context
MITRE CAPEC attack patterns and ATT&CK techniques for this weakness class (CWE). A starting point for detection rules and threat hunting.
Change log
- Fix✗ → ✓
For records you follow, these changes also arrive as notifications. →
References
- access.redhat.com/errata/RHSA-2019:2939
- lists.opensuse.org/opensuse-security-announce/2019-09/msg00031.html
- lists.opensuse.org/opensuse-security-announce/2019-09/msg00032.html
- seclists.org/fulldisclosure/2019/Aug/16
- access.redhat.com/errata/RHSA-2019:2925
- access.redhat.com/errata/RHSA-2019:2955
- access.redhat.com/errata/RHSA-2019:3892
- access.redhat.com/errata/RHSA-2019:4352
- access.redhat.com/errata/RHSA-2020:0727
- github.com/Netflix/security-bulletins/blob/master/advisories/third-party/2019-002.md
- kb.cert.org/vuls/id/605641/
- kc.mcafee.com/corporate/index?page=content&id=SB10296
- lists.apache.org/thread.html/091b518265bce56a16af87b77c8cfacda902a02079e866f9fdf13b61%40%3Cusers.trafficserver.apache.org%3E
- lists.apache.org/thread.html/2653c56545573b528f3f6352a29eccaf498bd6fb2a6a59568d81a61d%40%3Cannounce.trafficserver.apache.org%3E
- lists.apache.org/thread.html/9317fd092b257a0815434b116a8af8daea6e920b6673f4fd5583d5fe%40%3Ccommits.druid.apache.org%3E
- lists.apache.org/thread.html/ff5b0821a6985159a832ff6d1a4bd311ac07ecc7db1e2d8bab619107%40%3Cdev.trafficserver.apache.org%3E
- lists.apache.org/thread.html/r99a625fb17032646d96cd23dec49603ff630e9318e44a686d63046bc%40%3Ccommits.cassandra.apache.org%3E
- lists.apache.org/thread.html/rd31230d01fa6aad18bdadc0720acd1747e53690bd35f73a48e7a9b75%40%3Ccommits.cassandra.apache.org%3E
- lists.fedoraproject.org/archives/list/package-announce%40lists.fedoraproject.org/message/4ZQGHE3WTYLYAYJEIDJVF2FIGQTAYPMC/
- lists.fedoraproject.org/archives/list/package-announce%40lists.fedoraproject.org/message/CMNFX5MNYRWWIMO4BTKYQCGUDMHO3AXP/
Vendor advisories and official records. Exploit/PoC links are deliberately left out.