Some HTTP/2 implementations are vulnerable to resource loops, potentially leading to a denial of service
Some HTTP/2 implementations are vulnerable to resource loops, potentially leading to a denial of service. The attacker creates multiple request streams and continually shuffles the priority of the streams in a way that causes substantial churn to the priority tree. This can consume excess CPU.
- BDU:2019-02997
- ALSA-2019:2799
- ALSA-2019:2925
- DSA-4505-1
- DSA-4511-1
- DSA-4669-1
- openSUSE-SU-2019:2114-1
- openSUSE-SU-2019:2115-1
- openSUSE-SU-2019:2120-1
- openSUSE-SU-2019:2232-1
- openSUSE-SU-2019:2234-1
- openSUSE-SU-2019:2264-1
- RHSA-2019:2692
- RHSA-2019:2745
- RHSA-2019:2746
- RHSA-2019:2775
- RHSA-2019:2799
- RHSA-2019:2925
- RHSA-2019:2939
- RHSA-2019:2946
- Published
- Aug 13, 2019
- Updated
- Jun 16, 2026
- EPSS
- 81.6% · 100th 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
54
Plan
Add it to your regular patch cycle.
- CVSS
- 30 / 40 · 7.5 / 10
- CISA KEV
- 0 / 30 · Not listed
- EPSS
- 24 / 30 · 81.6%
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.
Affected 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 |
| fedoraproject | fedora | cpe:2.3:o:fedoraproject:fedora |
| 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 |
| opensuse | leap | cpe:2.3:o:opensuse:leap |
| redhat | jboss core services | cpe:2.3:a:redhat:jboss_core_services |
and 10 more
Affected versions
NVD version ranges (for catalog products). Add the product to your stack with a version and matching uses these.
- f5 nginx1.9.5 and later · before 1.16.1
- f5 nginx1.17.0 and later · up to 1.17.2 inclusive
- 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 | nginx | before 1:1.14.1-9.module_el8.4.0+2221+af250afe.alma | 1:1.14.1-9.module_el8.4.0+2221+af250afe.alma |
| AlmaLinux:8 | nginx | before 1:1.14.1-9.module_el8.5.0+34+dc1cfba5.alma | 1:1.14.1-9.module_el8.5.0+34+dc1cfba5.alma |
| AlmaLinux:8 | nginx | before 1:1.14.1-9.module_el8.3.0+2165+af250afe.alma | 1:1.14.1-9.module_el8.3.0+2165+af250afe.alma |
| AlmaLinux:8 | nginx-all-modules | before 1:1.14.1-9.module_el8.3.0+2165+af250afe.alma | 1:1.14.1-9.module_el8.3.0+2165+af250afe.alma |
| AlmaLinux:8 | nginx-filesystem | before 1:1.14.1-9.module_el8.3.0+2165+af250afe.alma | 1:1.14.1-9.module_el8.3.0+2165+af250afe.alma |
| AlmaLinux:8 | nginx-mod-http-image-filter | before 1:1.14.1-9.module_el8.5.0+34+dc1cfba5.alma | 1:1.14.1-9.module_el8.5.0+34+dc1cfba5.alma |
| AlmaLinux:8 | nginx-mod-http-image-filter | before 1:1.14.1-9.module_el8.3.0+2165+af250afe.alma | 1:1.14.1-9.module_el8.3.0+2165+af250afe.alma |
| AlmaLinux:8 | nginx-mod-http-image-filter | before 1:1.14.1-9.module_el8.4.0+2221+af250afe.alma | 1:1.14.1-9.module_el8.4.0+2221+af250afe.alma |
| AlmaLinux:8 | nginx-mod-http-perl | before 1:1.14.1-9.module_el8.4.0+2221+af250afe.alma | 1:1.14.1-9.module_el8.4.0+2221+af250afe.alma |
| AlmaLinux:8 | nginx-mod-http-perl | before 1:1.14.1-9.module_el8.3.0+2165+af250afe.alma | 1:1.14.1-9.module_el8.3.0+2165+af250afe.alma |
| AlmaLinux:8 | nginx-mod-http-perl | before 1:1.14.1-9.module_el8.5.0+34+dc1cfba5.alma | 1:1.14.1-9.module_el8.5.0+34+dc1cfba5.alma |
| AlmaLinux:8 | nginx-mod-http-xslt-filter | before 1:1.14.1-9.module_el8.3.0+2165+af250afe.alma | 1:1.14.1-9.module_el8.3.0+2165+af250afe.alma |
| AlmaLinux:8 | nginx-mod-http-xslt-filter | before 1:1.14.1-9.module_el8.4.0+2221+af250afe.alma | 1:1.14.1-9.module_el8.4.0+2221+af250afe.alma |
| AlmaLinux:8 | nginx-mod-http-xslt-filter | before 1:1.14.1-9.module_el8.5.0+34+dc1cfba5.alma | 1:1.14.1-9.module_el8.5.0+34+dc1cfba5.alma |
| AlmaLinux:8 | nginx-mod-mail | before 1:1.14.1-9.module_el8.4.0+2221+af250afe.alma | 1:1.14.1-9.module_el8.4.0+2221+af250afe.alma |
| AlmaLinux:8 | nginx-mod-mail | before 1:1.14.1-9.module_el8.5.0+34+dc1cfba5.alma | 1:1.14.1-9.module_el8.5.0+34+dc1cfba5.alma |
| AlmaLinux:8 | nginx-mod-mail | before 1:1.14.1-9.module_el8.3.0+2165+af250afe.alma | 1:1.14.1-9.module_el8.3.0+2165+af250afe.alma |
| AlmaLinux:8 | nginx-mod-stream | before 1:1.14.1-9.module_el8.3.0+2165+af250afe.alma | 1:1.14.1-9.module_el8.3.0+2165+af250afe.alma |
| AlmaLinux:8 | nginx-mod-stream | before 1:1.14.1-9.module_el8.4.0+2221+af250afe.alma | 1:1.14.1-9.module_el8.4.0+2221+af250afe.alma |
| AlmaLinux:8 | nginx-mod-stream | before 1:1.14.1-9.module_el8.5.0+34+dc1cfba5.alma | 1:1.14.1-9.module_el8.5.0+34+dc1cfba5.alma |
| 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-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-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.3.0+2023+d2377ea3 | 17-3.module_el8.3.0+2023+d2377ea3 |
+96
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-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
- CVE-2018-4281In SwiftNIO before 1.8.0, a buffer overflow was addressed with improved size validation.39Monitor
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:nginx | 1:1.14.1-9.module_el8.5.0+34+dc1cfba5.alma · AlmaLinux:8 | Package registry (OSV) |
| AlmaLinux:nginx-all-modules | 1:1.14.1-9.module_el8.3.0+2165+af250afe.alma · AlmaLinux:8 | Package registry (OSV) |
| AlmaLinux:nginx-filesystem | 1:1.14.1-9.module_el8.3.0+2165+af250afe.alma · AlmaLinux:8 | Package registry (OSV) |
| AlmaLinux:nginx-mod-http-image-filter | 1:1.14.1-9.module_el8.4.0+2221+af250afe.alma · AlmaLinux:8 | Package registry (OSV) |
| AlmaLinux:nginx-mod-http-perl | 1:1.14.1-9.module_el8.4.0+2221+af250afe.alma · AlmaLinux:8 | Package registry (OSV) |
| AlmaLinux:nginx-mod-http-xslt-filter | 1:1.14.1-9.module_el8.4.0+2221+af250afe.alma · AlmaLinux:8 | Package registry (OSV) |
| AlmaLinux:nginx-mod-mail | 1:1.14.1-9.module_el8.4.0+2221+af250afe.alma · AlmaLinux:8 | Package registry (OSV) |
| AlmaLinux:nginx-mod-stream | 1:1.14.1-9.module_el8.3.0+2165+af250afe.alma · AlmaLinux:8 | Package registry (OSV) |
| 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:nghttp2 | 1.39.2-r0 · Alpine:v3.10 | Package registry (OSV) |
| Alpine:nginx | 1.16.1-r0 · Alpine:v3.10 | Package registry (OSV) |
| Alpine:nodejs | 10.16.3-r0 · Alpine:v3.10 | Package registry (OSV) |
| Debian:nghttp2 | 1.39.2-1 · Debian:12 | Package registry (OSV) |
| Debian:nginx | 1.14.2-3 · Debian:12 | Package registry (OSV) |
| Debian:nodejs | 10.16.3~dfsg-1 · Debian:12 | Package registry (OSV) |
| openSUSE:nghttp2 | 1.39.2-lp151.3.3.1 · openSUSE:Leap 15.1 | Package registry (OSV) |
| openSUSE:nghttp2-python | 1.39.2-lp151.3.3.1 · openSUSE:Leap 15.1 | Package registry (OSV) |
| openSUSE:nginx | 1.14.2-lp151.4.3.1 · openSUSE:Leap 15.1 | 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:libnghttp2 | 0:1.33.0-1.el8_0.1 · Red Hat:enterprise_linux:8::baseos | Package registry (OSV) |
| Red Hat:libnghttp2-debuginfo | 0:1.33.0-1.el8_0.1 · Red Hat:enterprise_linux:8::baseos | Package registry (OSV) |
| Red Hat:libnghttp2-devel | 0:1.33.0-1.el8_0.1 · Red Hat:enterprise_linux:8::crb | Package registry (OSV) |
| Red Hat:nghttp2 | 0:1.33.0-1.el8_0.1 · Red Hat:enterprise_linux:8::baseos | Package registry (OSV) |
| Red Hat:nghttp2-debuginfo | 0:1.33.0-1.el8_0.1 · Red Hat:enterprise_linux:8::baseos | Package registry (OSV) |
| Red Hat:nghttp2-debugsource | 0:1.33.0-1.el8_0.1 · Red Hat:enterprise_linux:8::baseos | Package registry (OSV) |
| Red Hat:rh-nginx110-nginx | 1:1.10.2-9.el6.1 · Red Hat:rhel_software_collections:3::el6 | Package registry (OSV) |
| Red Hat:rh-nginx110-nginx-debuginfo | 1:1.10.2-9.el6.1 · Red Hat:rhel_software_collections:3::el6 | Package registry (OSV) |
| Red Hat:rh-nginx110-nginx-mod-http-image-filter | 1:1.10.2-9.el6.1 · Red Hat:rhel_software_collections:3::el6 | Package registry (OSV) |
+11
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.
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.
Noroxi analysis
No Noroxi analysis for this record yet
We don't hand-write analysis for all 385,000+ vulnerabilities; 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 helpChange log
- Fix✗ → ✓
For records you follow, these changes also arrive as notifications. →
References
- lists.opensuse.org/opensuse-security-announce/2019-09/msg00031.html
- lists.opensuse.org/opensuse-security-announce/2019-09/msg00032.html
- lists.opensuse.org/opensuse-security-announce/2019-09/msg00035.html
- lists.opensuse.org/opensuse-security-announce/2019-10/msg00003.html
- lists.opensuse.org/opensuse-security-announce/2019-10/msg00005.html
- lists.opensuse.org/opensuse-security-announce/2019-10/msg00014.html
- access.redhat.com/errata/RHSA-2019:2692
- access.redhat.com/errata/RHSA-2019:2745
- access.redhat.com/errata/RHSA-2019:2746
- access.redhat.com/errata/RHSA-2019:2775
- access.redhat.com/errata/RHSA-2019:2799
- access.redhat.com/errata/RHSA-2019:2925
- access.redhat.com/errata/RHSA-2019:2939
- access.redhat.com/errata/RHSA-2019:2949
- access.redhat.com/errata/RHSA-2019:2955
- access.redhat.com/errata/RHSA-2019:2966
- access.redhat.com/errata/RHSA-2019:3041
- access.redhat.com/errata/RHSA-2019:3932
- access.redhat.com/errata/RHSA-2019:3933
- access.redhat.com/errata/RHSA-2019:3935
Vendor advisories and official records. Exploit/PoC links are deliberately left out.