CVE-2024-37894
Medium · 6.3CVSS
6.3
EPSS
6.3%
Published
Jun 25, 2024
CISA due date
—
Cloudanix analysis
A flaw in the Squid web proxy can let an attacker send bad web requests that crash the service and block users from reaching cached content.
- Exploitation
- Remote Authenticated
- Attacker needs
- Low Privilege
- Complexity
- High
- Impact
- Denial Of Service
- Component
- Application
- Class
- Memory Corruption
- Remediation
- Upgrade
- Effort
- Medium
- Patch risk
- Low
What it actually does
Out-of-bounds write during ESI variable assignment triggers memory corruption that crashes the Squid process.
Why it matters to the business
A successful attack can make the caching proxy unavailable, interrupting web traffic filtering, acceleration, and access for users and downstream systems; the low EPSS and absence from KEV indicate limited observed exploitation but the flaw still requires prompt attention given the 833 days since publication.
How an attack unfolds
An authenticated remote attacker crafts HTTP requests containing specially formed ESI directives that cause Squid to perform an out-of-bounds write when processing variable assignments, resulting in memory corruption and a denial-of-service crash.
How to fix it
Upgrade squid-cache/squid to the commit e071b58dfccdf8805fd32b7e4cce239ee12182d9 or later; rebuild and deploy the updated binary, then restart the service.
How to confirm the fix worked
Confirm the running Squid binary reports a commit newer than e071b58dfccdf8805fd32b7e4cce239ee12182d9; replay representative ESI requests in a test environment and verify the process remains stable.
Typical attack path
- Identify a reachable Squid instance that processes ESI-enabled responses
- Send crafted requests containing malicious ESI variable assignments
- Trigger the out-of-bounds write and observe process termination
- Repeat to sustain the denial-of-service condition
How to detect it
Monitor Squid process logs and system crash reports for segmentation faults or abrupt terminations immediately following receipt of ESI-related requests; correlate with proxy access logs for unusual variable assignments.
What your security team should do
- Apply the upstream fix immediately on all production proxies
- Disable ESI processing if the feature is not required
- Add monitoring for Squid process crashes and unexpected restarts
- Review firewall and access-control rules to limit exposure of management interfaces
The record
Squid is a caching proxy for the Web supporting HTTP, HTTPS, FTP, and more. Due to an Out-of-bounds Write error when assigning ESI variables, Squid is susceptible to a Memory Corruption error. This error can lead to a Denial of Service attack.
Affected packages
| Ecosystem | Package | Introduced | Fixed |
|---|---|---|---|
| AlmaLinux:9 | squid | 0 | 7:5.5-13.el9_4 |
| Debian:11 | squid | 0 | No fix |
| Debian:11 | squid | 0 | 4.13-10+deb11u4 |
| Debian:12 | squid | 0 | 5.7-2+deb12u2 |
| Debian:13 | squid | 0 | 6.10-1 |
| Debian:14 | squid | 0 | 6.10-1 |
| Mageia:9 | squid | 0 | 5.9-1.4.mga9 |
| Red Hat:enterprise_linux:9::appstream | squid | 0 | 7:5.5-13.el9_4 |
| Red Hat:enterprise_linux:9::appstream | squid-debuginfo | 0 | 7:5.5-13.el9_4 |
| Red Hat:enterprise_linux:9::appstream | squid-debugsource | 0 | 7:5.5-13.el9_4 |
| Red Hat:rhel_eus:9.2::appstream | squid | 0 | 7:5.5-5.el9_2.7 |
| Red Hat:rhel_eus:9.2::appstream | squid-debuginfo | 0 | 7:5.5-5.el9_2.7 |
| Red Hat:rhel_eus:9.2::appstream | squid-debugsource | 0 | 7:5.5-5.el9_2.7 |
| Rocky Linux:9 | squid | 0 | 7:5.5-13.el9_4 |
| SUSE:Enterprise Storage 7.1 | squid | 0 | 4.17-150000.5.55.1 |
| SUSE:Linux Enterprise High Performance Computing 15 SP3-LTSS | squid | 0 | 4.17-150000.5.55.1 |
| SUSE:Linux Enterprise Module for Server Applications 15 SP5 | squid | 0 | 5.7-150400.3.32.1 |
| SUSE:Linux Enterprise Module for Server Applications 15 SP6 | squid | 0 | 6.10-150600.3.6.1 |
| SUSE:Linux Enterprise Server 12 SP5 | squid | 0 | 4.17-4.50.1 |
| SUSE:Linux Enterprise Server 15 SP3-LTSS | squid | 0 | 4.17-150000.5.55.1 |
| SUSE:Linux Enterprise Server for SAP Applications 12 SP5 | squid | 0 | 4.17-4.50.1 |
| SUSE:Linux Enterprise Server for SAP Applications 15 SP3 | squid | 0 | 4.17-150000.5.55.1 |
| Ubuntu:20.04:LTS | squid | 0 | 4.10-1ubuntu1.13 |
| Ubuntu:22.04:LTS | squid | 0 | 5.9-0ubuntu0.22.04.2 |
| Ubuntu:24.04:LTS | squid | 0 | 6.6-1ubuntu5.1 |
| Ubuntu:Pro:16.04:LTS | squid3 | 0 | 3.5.12-1ubuntu7.16+esm4 |
| Ubuntu:Pro:18.04:LTS | squid3 | 0 | 3.5.27-1ubuntu1.14+esm3 |
| openSUSE:Leap 15.5 | squid | 0 | 5.7-150400.3.32.1 |
| openSUSE:Leap 15.6 | squid | 0 | 6.10-150600.3.6.1 |
| openSUSE:Tumbleweed | squid | 0 | 6.10-1.1 |
Related vulnerabilities
- CVE-2025-62168 Squid vulnerable to information disclosure via authentication credential leakage in error… Also affects squid
- CVE-2024-45802 Squid is an open source caching proxy for the Web supporting HTTP, HTTPS, FTP, and more. Also affects squid
- CVE-2024-25111 Squid is a web proxy cache. Also affects squid
- CVE-2025-54574 Squid is a caching proxy for the Web. Also affects squid
- CVE-2016-4554 mime_header.cc in Squid before 3.5.18 allows remote attackers to bypass intended… Also affects squid
- CVE-2016-4051 Buffer overflow in cachemgr.cgi in Squid 2.x, 3.x before 3.5.17, and 4.x before 4.0.9… Also affects squid
- CVE-2016-2390 The FwdState::connectedToPeer method in FwdState.cc in Squid before 3.5.14 and 4.0.x… Also affects squid
- CVE-2016-3948 Squid 3.x before 3.5.16 and 4.x before 4.0.8 improperly perform bounds checking, which… Also affects squid