CVE-2024-30156
High · 7.5CVSS
7.5
EPSS
3.7%
Published
Mar 24, 2024
CISA due date
—
Cloudanix analysis
Attackers can send special web requests that overwhelm the caching software, making websites slow or unreachable until the software is updated.
- Exploitation
- Remote Unauthenticated
- Attacker needs
- None
- Complexity
- Low
- Impact
- Denial Of Service
- Component
- Network Service
- Class
- Denial of service
- Remediation
- Upgrade
- Effort
- Medium
- Patch risk
- Low
What it actually does
The flaw permits an attacker to exhaust credits in the HTTP/2 connection control flow window, stalling data transmission and causing denial of service on affected connections.
Why it matters to the business
Web caching services become unavailable or severely degraded, resulting in increased backend load, slower site performance, and potential downtime for dependent applications.
How an attack unfolds
An attacker opens an HTTP/2 connection to a vulnerable Varnish instance and transmits specially crafted frames that rapidly deplete flow-control window credits without allowing normal recovery, leaving the connection unusable.
How to fix it
Upgrade Varnish Cache to 7.3.2 or newer, 7.4.3 or newer, or 6.0.13 LTS; upgrade Varnish Enterprise 6 to 6.0.12r6 or newer. Apply the update and restart the service.
How to confirm the fix worked
Confirm the running Varnish version meets or exceeds the fixed releases, then perform HTTP/2 load tests to verify flow-control window credits are correctly managed and connections do not stall.
Typical attack path
- Establish an HTTP/2 connection to the target Varnish server
- Send a sequence of HTTP/2 frames engineered to drain window credits
- Keep the depleted connection alive to block further legitimate traffic
- Repeat across multiple connections to amplify resource exhaustion
How to detect it
Inspect Varnish access and error logs for HTTP/2 connections that remain open with no data transfer after initial frames; correlate with spikes in CPU or memory usage on the cache process.
What your security team should do
- Immediately schedule upgrades of all Varnish instances to the patched releases
- Apply temporary HTTP/2 rate limiting or connection throttling until patches are deployed
- Monitor EPSS and threat intelligence feeds for any future increase in exploitation activity
The record
Varnish Cache before 7.3.2 and 7.4.x before 7.4.3 (and before 6.0.13 LTS), and Varnish Enterprise 6 before 6.0.12r6, allows credits exhaustion for an HTTP/2 connection control flow window, aka a Broke Window Attack.
Affected packages
| Ecosystem | Package | Introduced | Fixed |
|---|---|---|---|
| AlmaLinux:8 | varnish | 0 | 6.0.13-1.module_el8.9.0+3786+e8a73bbf.alma.1 |
| AlmaLinux:8 | varnish-devel | 0 | 6.0.13-1.module_el8.9.0+3786+e8a73bbf.alma.1 |
| AlmaLinux:8 | varnish-docs | 0 | 6.0.13-1.module_el8.9.0+3786+e8a73bbf.alma.1 |
| AlmaLinux:8 | varnish-modules | 0 | 0.15.0-6.module_el8.5.0+2620+03a0c2cc |
| AlmaLinux:8 | varnish-modules | 0 | 0.15.0-6.module_el8.5.0+76+a10ffa55 |
| AlmaLinux:8 | varnish-modules | 0 | 0.15.0-6.module_el8.6.0+3089+dac88e97 |
| AlmaLinux:9 | varnish | 0 | 6.6.2-4.el9_3.1 |
| AlmaLinux:9 | varnish-devel | 0 | 6.6.2-4.el9_3.1 |
| AlmaLinux:9 | varnish-docs | 0 | 6.6.2-4.el9_3.1 |
| Alpine:v3.17 | varnish | 0 | 7.3.2-r0 |
| Alpine:v3.18 | varnish | 0 | 7.3.2-r0 |
| Alpine:v3.19 | varnish | 0 | 7.4.3-r0 |
| Alpine:v3.20 | varnish | 0 | 7.5.0-r0 |
| Alpine:v3.21 | varnish | 0 | 7.5.0-r0 |
| Alpine:v3.22 | varnish | 0 | 7.5.0-r0 |
| Debian:11 | varnish | 0 | No fix |
| Debian:12 | varnish | 0 | No fix |
| Debian:13 | varnish | 0 | 7.5.0-1 |
| Mageia:9 | varnish | 0 | 7.3.2-1.mga9 |
| Red Hat:enterprise_linux:8::appstream | varnish | 0 | 0:6.0.13-1.module+el8.9.0+21617+7578fa11 |
| Red Hat:enterprise_linux:8::appstream | varnish-devel | 0 | 0:6.0.13-1.module+el8.9.0+21617+7578fa11 |
| Red Hat:enterprise_linux:8::appstream | varnish-docs | 0 | 0:6.0.13-1.module+el8.9.0+21617+7578fa11 |
| Red Hat:enterprise_linux:8::appstream | varnish-modules | 0 | 0:0.15.0-6.module+el8.9.0+21617+7578fa11 |
| Red Hat:enterprise_linux:8::appstream | varnish-modules-debuginfo | 0 | 0:0.15.0-6.module+el8.9.0+21617+7578fa11 |
| Red Hat:enterprise_linux:8::appstream | varnish-modules-debugsource | 0 | 0:0.15.0-6.module+el8.9.0+21617+7578fa11 |
| Red Hat:enterprise_linux:9::appstream | varnish | 0 | 0:6.6.2-4.el9_3.1 |
| Red Hat:enterprise_linux:9::appstream | varnish-devel | 0 | 0:6.6.2-4.el9_3.1 |
| Red Hat:enterprise_linux:9::appstream | varnish-docs | 0 | 0:6.6.2-4.el9_3.1 |
| Red Hat:enterprise_linux:9::crb | varnish | 0 | 0:6.6.2-4.el9_3.1 |
| Red Hat:enterprise_linux:9::crb | varnish-devel | 0 | 0:6.6.2-4.el9_3.1 |
| Red Hat:enterprise_linux:9::crb | varnish-docs | 0 | 0:6.6.2-4.el9_3.1 |
| Red Hat:rhel_aus:8.2::appstream | varnish | 0 | 0:6.0.6-1.module+el8.2.0+22154+6b906702 |
| Red Hat:rhel_aus:8.2::appstream | varnish-devel | 0 | 0:6.0.6-1.module+el8.2.0+22154+6b906702 |
| Red Hat:rhel_aus:8.2::appstream | varnish-docs | 0 | 0:6.0.6-1.module+el8.2.0+22154+6b906702 |
| Red Hat:rhel_aus:8.2::appstream | varnish-modules | 0 | 0:0.15.0-4.module+el8+2481+4078e9d2 |
| Red Hat:rhel_aus:8.2::appstream | varnish-modules-debuginfo | 0 | 0:0.15.0-4.module+el8+2481+4078e9d2 |
| Red Hat:rhel_aus:8.2::appstream | varnish-modules-debugsource | 0 | 0:0.15.0-4.module+el8+2481+4078e9d2 |
| Red Hat:rhel_aus:8.4::appstream | varnish | 0 | 0:6.0.6-2.module+el8.4.0+21799+2c737c67.5 |
| Red Hat:rhel_aus:8.4::appstream | varnish-devel | 0 | 0:6.0.6-2.module+el8.4.0+21799+2c737c67.5 |
| Red Hat:rhel_aus:8.4::appstream | varnish-docs | 0 | 0:6.0.6-2.module+el8.4.0+21799+2c737c67.5 |
| Red Hat:rhel_aus:8.4::appstream | varnish-modules | 0 | 0:0.15.0-5.module+el8.3.0+6843+b3b42fcc |
| Red Hat:rhel_aus:8.4::appstream | varnish-modules-debuginfo | 0 | 0:0.15.0-5.module+el8.3.0+6843+b3b42fcc |
| Red Hat:rhel_aus:8.4::appstream | varnish-modules-debugsource | 0 | 0:0.15.0-5.module+el8.3.0+6843+b3b42fcc |
| Red Hat:rhel_e4s:8.4::appstream | varnish | 0 | 0:6.0.6-2.module+el8.4.0+21799+2c737c67.5 |
| Red Hat:rhel_e4s:8.4::appstream | varnish-devel | 0 | 0:6.0.6-2.module+el8.4.0+21799+2c737c67.5 |
| Red Hat:rhel_e4s:8.4::appstream | varnish-docs | 0 | 0:6.0.6-2.module+el8.4.0+21799+2c737c67.5 |
| Red Hat:rhel_e4s:8.4::appstream | varnish-modules | 0 | 0:0.15.0-5.module+el8.3.0+6843+b3b42fcc |
| Red Hat:rhel_e4s:8.4::appstream | varnish-modules-debuginfo | 0 | 0:0.15.0-5.module+el8.3.0+6843+b3b42fcc |
| Red Hat:rhel_e4s:8.4::appstream | varnish-modules-debugsource | 0 | 0:0.15.0-5.module+el8.3.0+6843+b3b42fcc |
| Red Hat:rhel_eus:8.6::appstream | varnish | 0 | 0:6.0.8-2.module+el8.6.0+21852+17475f6a.3 |
| Red Hat:rhel_eus:8.6::appstream | varnish-devel | 0 | 0:6.0.8-2.module+el8.6.0+21852+17475f6a.3 |
| Red Hat:rhel_eus:8.6::appstream | varnish-docs | 0 | 0:6.0.8-2.module+el8.6.0+21852+17475f6a.3 |
| Red Hat:rhel_eus:8.6::appstream | varnish-modules | 0 | 0:0.15.0-6.module+el8.5.0+11976+0b4af72d |
| Red Hat:rhel_eus:8.6::appstream | varnish-modules-debuginfo | 0 | 0:0.15.0-6.module+el8.5.0+11976+0b4af72d |
| Red Hat:rhel_eus:8.6::appstream | varnish-modules-debugsource | 0 | 0:0.15.0-6.module+el8.5.0+11976+0b4af72d |
| Red Hat:rhel_eus:8.8::appstream | varnish | 0 | 0:6.0.8-3.module+el8.8.0+21796+79393093.2 |
| Red Hat:rhel_eus:8.8::appstream | varnish-devel | 0 | 0:6.0.8-3.module+el8.8.0+21796+79393093.2 |
| Red Hat:rhel_eus:8.8::appstream | varnish-docs | 0 | 0:6.0.8-3.module+el8.8.0+21796+79393093.2 |
| Red Hat:rhel_eus:8.8::appstream | varnish-modules | 0 | 0:0.15.0-6.module+el8.5.0+11976+0b4af72d |
| Red Hat:rhel_eus:8.8::appstream | varnish-modules-debuginfo | 0 | 0:0.15.0-6.module+el8.5.0+11976+0b4af72d |
| Red Hat:rhel_eus:8.8::appstream | varnish-modules-debugsource | 0 | 0:0.15.0-6.module+el8.5.0+11976+0b4af72d |
| Red Hat:rhel_eus:9.0::appstream | varnish | 0 | 0:6.6.2-2.el9_0.3 |
| Red Hat:rhel_eus:9.0::appstream | varnish-devel | 0 | 0:6.6.2-2.el9_0.3 |
| Red Hat:rhel_eus:9.0::appstream | varnish-docs | 0 | 0:6.6.2-2.el9_0.3 |
| Red Hat:rhel_eus:9.0::crb | varnish | 0 | 0:6.6.2-2.el9_0.3 |
| Red Hat:rhel_eus:9.0::crb | varnish-devel | 0 | 0:6.6.2-2.el9_0.3 |
| Red Hat:rhel_eus:9.0::crb | varnish-docs | 0 | 0:6.6.2-2.el9_0.3 |
| Red Hat:rhel_eus:9.2::appstream | varnish | 0 | 0:6.6.2-3.el9_2.2 |
| Red Hat:rhel_eus:9.2::appstream | varnish-devel | 0 | 0:6.6.2-3.el9_2.2 |
| Red Hat:rhel_eus:9.2::appstream | varnish-docs | 0 | 0:6.6.2-3.el9_2.2 |
| Red Hat:rhel_eus:9.2::crb | varnish | 0 | 0:6.6.2-3.el9_2.2 |
| Red Hat:rhel_eus:9.2::crb | varnish-devel | 0 | 0:6.6.2-3.el9_2.2 |
| Red Hat:rhel_eus:9.2::crb | varnish-docs | 0 | 0:6.6.2-3.el9_2.2 |
| Red Hat:rhel_software_collections:3::el7 | rh-varnish6-varnish | 0 | 0:6.0.13-1.el7 |
| Red Hat:rhel_software_collections:3::el7 | rh-varnish6-varnish-devel | 0 | 0:6.0.13-1.el7 |
| Red Hat:rhel_software_collections:3::el7 | rh-varnish6-varnish-docs | 0 | 0:6.0.13-1.el7 |
| Red Hat:rhel_software_collections:3::el7 | rh-varnish6-varnish-libs | 0 | 0:6.0.13-1.el7 |
| Red Hat:rhel_software_collections:3::el7 | rh-varnish6-varnish-modules | 0 | 0:0.15.0-8.el7 |
| Red Hat:rhel_software_collections:3::el7 | rh-varnish6-varnish-modules-debuginfo | 0 | 0:0.15.0-8.el7 |
| Red Hat:rhel_tus:8.4::appstream | varnish | 0 | 0:6.0.6-2.module+el8.4.0+21799+2c737c67.5 |
| Red Hat:rhel_tus:8.4::appstream | varnish-devel | 0 | 0:6.0.6-2.module+el8.4.0+21799+2c737c67.5 |
| Red Hat:rhel_tus:8.4::appstream | varnish-docs | 0 | 0:6.0.6-2.module+el8.4.0+21799+2c737c67.5 |
| Red Hat:rhel_tus:8.4::appstream | varnish-modules | 0 | 0:0.15.0-5.module+el8.3.0+6843+b3b42fcc |
| Red Hat:rhel_tus:8.4::appstream | varnish-modules-debuginfo | 0 | 0:0.15.0-5.module+el8.3.0+6843+b3b42fcc |
| Red Hat:rhel_tus:8.4::appstream | varnish-modules-debugsource | 0 | 0:0.15.0-5.module+el8.3.0+6843+b3b42fcc |
| Rocky Linux:8 | varnish | 0 | 0:6.0.13-1.module+el8.9.0+1777+0acf9965 |
| Rocky Linux:8 | varnish-modules | 0 | 0:0.15.0-6.module+el8.5.0+677+2a78a869 |
| Rocky Linux:9 | varnish | 0 | 0:6.6.2-4.el9_3.1 |
| Ubuntu:20.04:LTS | varnish | 0 | No fix |
| Ubuntu:22.04:LTS | varnish | 0 | No fix |
| Ubuntu:24.04:LTS | varnish | 0 | No fix |
| Ubuntu:24.10 | varnish | 0 | No fix |
| Ubuntu:Pro:14.04:LTS | varnish | 0 | No fix |
| Ubuntu:Pro:16.04:LTS | varnish | 0 | No fix |
| Ubuntu:Pro:18.04:LTS | varnish | 0 | No fix |
Related vulnerabilities
- CVE-2023-44487 The HTTP/2 protocol allows a denial of service (server resource consumption) because… Also affects varnish
- CVE-2017-8807 vbf_stp_error in bin/varnishd/cache/cache_fetch.c in Varnish HTTP Cache 4.1.x before… Also affects varnish
- CVE-2009-2936 The Command Line Interface (aka Server CLI or administration interface) in the master… Also affects varnish
- CVE-2009-4488 Varnish 2.0.6 writes data to a log file without sanitizing non-printable characters… Also affects varnish
- CVE-2026-114731 Roundcube Webmail before 1.6.20 and 1.7.x before 1.7.5 is affected by an uncontrolled… CWE-770
- CVE-2026-96377 Allocation of Resources Without Limits or Throttling vulnerability in Drupal Combined… CWE-770
- CVE-2026-96365 Allocation of Resources Without Limits or Throttling vulnerability in Drupal Webform… CWE-770
- CVE-2026-114723 Roundcube Webmail before 1.6.20 and 1.7.x before 1.7.5 allows the ImageMagick resource… CWE-770