Squid Cache
CVE-2025-62168
HIGH
Attack ChainAIDerived
Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain
-
AccessReach internet-facing Squid proxy
-
ExploitSend request triggering error or TRACE
-
ExecutionSquid packs request headers into response
-
ImpactHarvest leaked Authorization/header data
Vulnerability Assessment
| Weakness |
CWE
OWASP Top 10:2025
A10:2025 - Mishandling of Exceptional Conditions
ASVS 5.0
V16 - Security Logging and Error Handling Error message sanitization
MITRE ATT&CK
1 technique across 1 tactic: Discovery The technique list with ATT&CK links and the kill-chain view is part of the Basic plan and up. |
| Exploitation Conditions | Exploitation requires that the attacker can elicit an error page or TRACE/trace reply from Squid whose generated body includes the original client request headers; pre-fix code in client_side_reply.cc, errorpage.cc, and HttpRequest::pack() emitted those headers (and Authorization data) without masking. Realistic disclosure is limited by whether credential-bearing or otherwise sensitive headers are actually present in the triggering request/transaction and whether the attacker receives the resulting response. The email_err_data directive (default 'on' before Squid 7.2, changed to 'off') governs inclusion of such data in error reports, so deployments on older versions or with email_err_data explicitly enabled are more exposed; the upstream fix additionally masks authorization data unconditionally. Affects Squid proxies reachable over the network (AV:N, PR:N), with no user interaction needed. |
| Impact | This is a credible, above-average-priority information disclosure flaw (CWE-209) rather than a high-CVSS paper tiger. The NVD CVSS 3.1 vector (AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:N/A:N = 7.5) is internally consistent: remote, unauthenticated, low-complexity, and confidentiality-only impact, which matches the commit evidence showing that Squid error pages and TRACE replies packed full request headers - including Authorization/credential data - without masking. Corroborating signals strengthen this: a public Nuclei detection/exploit template exists (POC=YES) and EPSS is 12.69% at the 94th percentile, unusually high and indicating real scanning/exploitation interest. However, the flaw is NOT on CISA KEV, so there is no confirmed active exploitation - POC availability must not be conflated with in-the-wild use. The main tension is between the high EPSS percentile (which reflects a widely scanned, internet-facing product) and the fact that the actual sensitive-data leak depends on whether error/TRACE responses reach an attacker and whether credential-bearing headers are present; EPSS likely overstates guaranteed impact because successful disclosure is opportunistic. Net: patch promptly on internet-facing Squid, but treat impact as sensitive-data exposure, not code execution. |
| Exploit ScenarioDerived | An unauthenticated remote attacker sends requests through or to a vulnerable Squid proxy that trigger an error response (or a TRACE request), causing Squid to embed the original request headers - potentially including Authorization credentials and internal transaction/environment details - in the returned error or trace body. A public Nuclei template (CVE-2025-62168.yaml) automates detection of this leakage, and because the attack is network-based and low-complexity, it can be probed at scale against exposed proxies. |
Get an e-mail when this CVE is exploited, patched or re-scored. Free account.
Alert meAnalysisAIv2 – Oct 19, 2026
Information disclosure in Squid Cache allows remote, unauthenticated attackers to obtain sensitive request data - including Authorization credentials - because pre-fix error page generation and TRACE handling echoed the original client request headers back into the response body without masking. Any deployment running an unpatched Squid build (CPE cpe:2.3:a:squid-cache:squid:*; Alpine Linux package fixed in 7.3-r0) that can be reached over the network and made to produce an error page or trace reply is exposed, and the exposure grows where the email_err_data directive is enabled or where legacy versions predate its switch to 'off'. Publicly available exploit code exists (a Nuclei detection template) and EPSS is elevated at 12.69% (94th percentile), which combined with CVSS 7.5 and full confidentiality impact makes prompt patching worthwhile, although there is no confirmed active exploitation (CISA KEV).
Earlier versions of this analysis (1)
Squid web proxy on Alpine Linux is affected by a vulnerability addressed in Alpine package version 7.3-r0. The upstream nature and technical mechanism of this vulnerability are not disclosed in available intelligence - the CVE description contains only the fix reference with no detail on impact, attack vector, or affected functionality. Despite sparse public disclosure, the EPSS score of 12.69% (94th percentile) indicates a statistically elevated exploitation probability relative to the broader CVE population, making this a notable tracking priority even in the absence of confirmed active exploitation or a CISA KEV listing.
RemediationAI
Vendor-released patch: Alpine Linux squid 7.3-r0, corresponding to upstream commit 0951a0681011dfca3d78c84fd7f1e19c78a4443f - upgrade the squid package (apk upgrade squid, or pin squid>=7.3-r0) and restart the service; non-Alpine deployments should track the same upstream fix documented at https://github.com/squid-cache/squid/security/advisories/GHSA-c8cc-phh7-xmxr and the Squid 7.x release notes. Where immediate upgrade is not possible, set 'email_err_data off' in squid.conf (it is already the default from 7.2 onward, so check for legacy configs that re-enabled it) - the trade-off is that administrator error emails no longer carry the request headers and environment facts used for troubleshooting; and deny the TRACE method with 'acl TraceMethod method TRACE' plus 'http_access deny TraceMethod', or restrict proxy access to trusted client networks, accepting that this breaks legitimate TRACE-based diagnostics and may affect clients relying on proxy-wide access. Note that error-page responses still pass through the vulnerable code path until the patch is applied, so configuration workarounds reduce but do not eliminate the leak of credential-bearing headers.
Affects your stack
Find out whether the stacks and servers you run are on an affected version.
Checking this CVE against your own stacks and servers is part of the Basic plan and up.
Technical ContextAI · show details
The root cause is CWE-209 (Generation of Error Message Containing Sensitive Information) in Squid's error and diagnostics path. Before the fix, client_side_reply.cc's setReplyToError() copied the raw, unparsed request text into ErrorState::request_hdrs, and ErrorState::compileLegacyCode()/Dump() re-emitted that data - and request->pack()/header.packInto() output - into the generated error page body. The same unmasked packing occurred in HttpRequest::pack() and in the TRACE reply path, where traceReply() used swapOut()/StoreEntry to serve the request back to the caller. The upstream commit refactors HttpRequest::pack() to take a maskSensitiveInfo flag (defaulting to true at the sensitive call sites) so Authorization data is unconditionally hidden, removes the request_hdrs buffer entirely, sets reply content type to message/http with content negotiated through a MemBuf body, and flips the email_err_data directive default to 'off'. That directive - which historically defaulted to 'on' and only changed to 'off' in Squid 7.2 - governs whether request headers and environment facts are included in error reports, which is why older or explicitly re-enabled configurations carry the widest data-leak surface. Because the flaw is triggered by attacker-controlled error conditions on a proxy listener (AV:N/PR:N/UI:N) and yields header contents directly (C:H), a single crafted request can expose proxy credentials, cookies, or internal topology details.
Know when Squid gets its next vulnerability
- Watch products and get an email when something new is published
- Check this CVE against your own stack and servers
- Exploit and PoC references, threat intelligence from 22 sources
No credit card · 7-day full trial
Severity by source
AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:N/A:N
Remote, unauthenticated, low-complexity triggering of error/TRACE responses that leak sensitive request headers gives AV:N/AC:L/PR:N/UI:N; impact is confidentiality-only, so C:H and I:N/A:N.
Primary rating from NVD.
CVSS VectorNVD
Lifecycle Timeline
3DescriptionNVD
Alpine Linux: squid fixed in 7.3-r0
Executive ViewAI
Squid Cache has a high-severity information-disclosure issue that can leak sensitive request data, including Authorization credentials, from affected proxy deployments that generate error pages or TRACE responses. Leadership should care because Squid often sits on shared network paths, so credential leakage can extend impact beyond the proxy to downstream applications and accounts. Publicly available exploit code exists and EPSS is elevated, so prioritizing patching and exposure review is warranted even though this CVE is not listed in CISA KEV.
Apply vendor patch.
Threat Intelligence Overview
How this decision was reached
The engine reads each signal below and applies a fixed list of rules from top to bottom. The first rule that matches sets the recommended action – like a statement, every line is shown.
What every action level means
SSVC AssessmentENISA
Priority Score
Attack Technique
Information disclosure occurs when an application unintentionally exposes sensitive data that aids attackers in reconnaissance or directly compromises security.
Affected Products (CPE)NVD
client_side.cc in Squid before 3.5.18 and 4.x before 4.0.10 does not properly ignore the Host header when absolute-URI i
Squid is vulnerable to a Denial of Service, where a remote attacker can perform buffer overflow attack by writing up to
Buffer overflow in Squid 3.x before 3.5.17 and 4.x before 4.0.9 allows remote attackers to execute arbitrary code via cr
client_side_request.cc in Squid 3.x before 3.5.18 and 4.x before 4.0.10 allows remote servers to cause a denial of servi
Heap-based buffer overflow in the Icmp6::Recv function in icmp/Icmp6.cc in the pinger utility in Squid before 3.5.16 and
client_side_request.cc in Squid 3.2.x before 3.2.13 and 3.3.x before 3.3.8 allows remote attackers to cause a denial of
Buffer overflow in the idnsALookup function in dns_internal.cc in Squid 3.2 through 3.2.11 and 3.3 through 3.3.6 allows
mime_header.cc in Squid before 3.5.18 allows remote attackers to bypass intended same-origin restrictions and possibly c
The pinger in Squid 3.x before 3.4.8 allows remote attackers to obtain sensitive information or cause a denial of servic
HttpHdrRange.cc in Squid 3.x before 3.3.12 and 3.4.x before 3.4.6 allows remote attackers to cause a denial of service (
Squid 3.x before 3.5.15 and 4.x before 4.0.7 does not properly append data to String objects, which allows remote server
Squid 3.x before 3.5.16 and 4.x before 4.0.8 improperly perform bounds checking, which allows remote attackers to cause
NVD
CVE.org
EPSS
GitHub
Exploit-DB