SQUID-2023:11 Denial of Service in Cache Manager
Description
Squid is a caching proxy for the Web. Due to an expired pointer reference bug, Squid prior to version 6.6 is vulnerable to a Denial of Service attack against Cache Manager error responses. This problem allows a trusted client to perform Denial of Service when generating error pages for Client Manager reports. Squid older than 5.0.5 have not been tested and should be assumed to be vulnerable. All Squid-5.x up to and including 5.9 are vulnerable. All Squid-6.x up to and including 6.5 are vulnerable. This bug is fixed by Squid version 6.6. In addition, patches addressing this problem for the stable releases can be found in Squid's patch archives. As a workaround, prevent access to Cache Manager using Squid's main access control: http_access deny manager.
AI Insight
LLM-synthesized narrative grounded in this CVE's description and references.
Affected products
23- osv-coords21 versionspkg:rpm/almalinux/libecappkg:rpm/almalinux/libecap-develpkg:rpm/almalinux/squidpkg:rpm/opensuse/squid&distro=openSUSE%20Leap%2015.5pkg:rpm/opensuse/squid&distro=openSUSE%20Tumbleweedpkg:rpm/suse/squid&distro=SUSE%20Enterprise%20Storage%207.1pkg:rpm/suse/squid&distro=SUSE%20Linux%20Enterprise%20High%20Performance%20Computing%2015%20SP2-LTSSpkg:rpm/suse/squid&distro=SUSE%20Linux%20Enterprise%20High%20Performance%20Computing%2015%20SP3-LTSSpkg:rpm/suse/squid&distro=SUSE%20Linux%20Enterprise%20High%20Performance%20Computing%2015%20SP4-ESPOSpkg:rpm/suse/squid&distro=SUSE%20Linux%20Enterprise%20High%20Performance%20Computing%2015%20SP4-LTSSpkg:rpm/suse/squid&distro=SUSE%20Linux%20Enterprise%20Module%20for%20Server%20Applications%2015%20SP5pkg:rpm/suse/squid&distro=SUSE%20Linux%20Enterprise%20Server%2012%20SP5pkg:rpm/suse/squid&distro=SUSE%20Linux%20Enterprise%20Server%2015%20SP2-LTSSpkg:rpm/suse/squid&distro=SUSE%20Linux%20Enterprise%20Server%2015%20SP3-LTSSpkg:rpm/suse/squid&distro=SUSE%20Linux%20Enterprise%20Server%2015%20SP4-LTSSpkg:rpm/suse/squid&distro=SUSE%20Linux%20Enterprise%20Server%20for%20SAP%20Applications%2012%20SP5pkg:rpm/suse/squid&distro=SUSE%20Linux%20Enterprise%20Server%20for%20SAP%20Applications%2015%20SP2pkg:rpm/suse/squid&distro=SUSE%20Linux%20Enterprise%20Server%20for%20SAP%20Applications%2015%20SP3pkg:rpm/suse/squid&distro=SUSE%20Linux%20Enterprise%20Server%20for%20SAP%20Applications%2015%20SP4pkg:rpm/suse/squid&distro=SUSE%20Manager%20Proxy%204.3pkg:rpm/suse/squid&distro=SUSE%20Manager%20Server%204.3
< 1.0.1-2.module_el8.6.0+2741+01592ae8+ 20 more
- (no CPE)range: < 1.0.1-2.module_el8.6.0+2741+01592ae8
- (no CPE)range: < 1.0.1-2.module_el8.6.0+2741+01592ae8
- (no CPE)range: < 7:5.5-13.el9_4
- (no CPE)range: < 5.7-150400.3.23.1
- (no CPE)range: < 6.6-2.1
- (no CPE)range: < 4.17-150000.5.49.1
- (no CPE)range: < 4.17-150000.5.49.1
- (no CPE)range: < 4.17-150000.5.49.1
- (no CPE)range: < 5.7-150400.3.23.1
- (no CPE)range: < 5.7-150400.3.23.1
- (no CPE)range: < 5.7-150400.3.23.1
- (no CPE)range: < 4.17-4.41.1
- (no CPE)range: < 4.17-150000.5.49.1
- (no CPE)range: < 4.17-150000.5.49.1
- (no CPE)range: < 5.7-150400.3.23.1
- (no CPE)range: < 4.17-4.41.1
- (no CPE)range: < 4.17-150000.5.49.1
- (no CPE)range: < 4.17-150000.5.49.1
- (no CPE)range: < 5.7-150400.3.23.1
- (no CPE)range: < 5.7-150400.3.23.1
- (no CPE)range: < 5.7-150400.3.23.1
- Range: < 6.6
Patches
Vulnerability mechanics
Root cause
"Expired pointer reference bug: CacheManager::start() overwrites the StoreEntry expiration after errorAppendEntry() has already set it, creating a race condition that can lead to use-after-free or NULL-pointer dereference."
Attack vector
A trusted client (one permitted by the Cache Manager ACL) sends a request that causes the Cache Manager to generate an error response. The `CacheManager::start()` function [ref_id=2][ref_id=3] sets `entry->expires = squid_curtime` after `errorAppendEntry()` has already set the expiration, leaving the StoreEntry in an inconsistent state. This can lead to a use-after-free or NULL-pointer dereference when the error page is being delivered, crashing Squid (Denial of Service). The precondition is that the client must be allowed to access the Cache Manager; the advisory suggests using `http_access deny manager` as a workaround.
Affected code
The bug is in `CacheManager::start()` in `src/cache_manager.cc`. The function calls `errorAppendEntry()` to set the StoreEntry expiration, but then immediately overwrites `entry->expires = squid_curtime`, creating a race window where the StoreEntry pointer can become stale. The advisory [ref_id=1] also traces a crash path through `clientReplyContext::pushStreamData()` → `clientStreamCallback()` → `clientSocketRecipient()` → `Http::One::Server::handleReply()` where a NULL `rep` pointer triggers an assertion failure.
What the fix does
The patch [ref_id=2][ref_id=3] removes the single line `entry->expires = squid_curtime;` from `CacheManager::start()` after the call to `errorAppendEntry()`. The commit message explains that `errorAppendEntry()` already sets the entry expiration via `StoreEntry::storeErrorResponse()` → `StoreEntry::negativeCache()`, so the subsequent overwrite is both redundant and dangerous: it creates a window where the StoreEntry pointer can become stale, leading to the use-after-free or assertion failure. The fix simply lets `errorAppendEntry()` manage the expiration as intended.
Preconditions
- authThe attacker must be a client trusted by Squid's Cache Manager access control (i.e., not blocked by http_access deny manager).
- inputThe attacker sends a request that triggers an error response from the Cache Manager.
Generated on Jun 12, 2026. Inputs: CWE entries + fix-commit diffs from this CVE's patches. Citations validated against bundle.
References
9- www.squid-cache.org/Versions/v5/SQUID-2023_11.patchmitrex_refsource_MISC
- www.squid-cache.org/Versions/v6/SQUID-2023_11.patchmitrex_refsource_MISC
- github.com/squid-cache/squid/commit/290ae202883ac28a48867079c2fb34c40efd382bmitrex_refsource_MISC
- github.com/squid-cache/squid/commit/e8118a7381213f5cfcdeb4cec1d2d854bfd261c8mitrex_refsource_MISC
- github.com/squid-cache/squid/security/advisories/GHSA-j49p-553x-48rxmitrex_refsource_CONFIRM
- megamansec.github.io/Squid-Security-Audit/stream-assert.htmlmitrex_refsource_MISC
- lists.fedoraproject.org/archives/list/package-announce@lists.fedoraproject.org/message/7R4KPSO3MQT3KAOZV7LC2GG3CYMCGK7H/mitre
- lists.fedoraproject.org/archives/list/package-announce@lists.fedoraproject.org/message/XWQHRDRHDM5PQTU6BHH4C5KGL37X6TVI/mitre
- security.netapp.com/advisory/ntap-20240208-0010/mitre
News mentions
0No linked articles in our index yet.