CVE-2016-10002
High · 7.5CVSS
7.5
EPSS
6.8%
Published
Jan 27, 2017
CISA due date
—
Cloudanix analysis
A flaw in a web proxy can let one user's login cookies be seen by someone else using the same site through the proxy.
- Exploitation
- Remote Unauthenticated
- Attacker needs
- None
- Complexity
- Trivial
- Impact
- Data Exposure
- Component
- Network Service
- Class
- Information Disclosure
- Remediation
- Upgrade
- Effort
- Medium
- Patch risk
- Low
What it actually does
Incorrect processing of responses to If-None-Modified HTTP conditional requests causes client-specific Cookie data to be leaked from the proxy cache to other clients.
Why it matters to the business
Attackers can obtain session cookies and other authentication tokens belonging to different users, increasing the risk of account takeover and unauthorized access to sensitive services.
How an attack unfolds
An attacker sends specially crafted conditional requests to the proxy cache to trigger the leak and receive Cookie headers belonging to other clients that previously accessed the same resources.
How to fix it
Upgrade Squid to a version beyond 3.5.22 or 4.0.16; for the listed Ubuntu packages apply the referenced php5 5.5.9+dfsg-1ubuntu4.19 or php7.0 7.0.8-0ubuntu0.16.04.1 fixes and restart affected services.
How to confirm the fix worked
Confirm the installed Squid or php package version matches or exceeds the fixed releases, then test cache behavior with conditional requests to verify Cookie data is no longer leaked across clients.
Typical attack path
- Identify a Squid proxy instance serving cached content
- Craft HTTP requests using If-None-Modified headers targeting popular resources
- Observe responses that incorrectly include Cookie data from other clients
- Use harvested cookies to impersonate victims in subsequent requests
How to detect it
Inspect proxy access logs for repeated If-None-Modified requests returning Set-Cookie or Cookie headers that do not match the requesting client; look for cache hit responses containing authentication tokens.
What your security team should do
- Apply the listed fixed package versions immediately due to the high CVSS score and public exploitability
- Review proxy cache configurations to disable unnecessary caching of authenticated responses
- Monitor for unusual conditional request patterns that could indicate probing
The record
Incorrect processing of responses to If-None-Modified HTTP conditional requests in Squid HTTP Proxy 3.1.10 through 3.1.23, 3.2.0.3 through 3.5.22, and 4.0.1 through 4.0.16 leads to client-specific Cookie data being leaked to other clients. Attack requests can easily be crafted by a client to probe a cache for this information.
Affected packages
| Ecosystem | Package | Introduced | Fixed |
|---|---|---|---|
| Alpine:v3.2 | squid | 0 | 3.5.23-r0 |
| Alpine:v3.3 | squid | 0 | 3.5.23-r0 |
| Debian:7 | squid3 | 0 | 3.1.20-2.2+deb7u7 |
| Debian:8 | squid3 | 0 | 3.4.8-6+deb8u4 |
| Mageia:5 | squid | 0 | 3.5.23-1.mga5 |
| Red Hat:enterprise_linux:6::server | squid34 | 0 | 7:3.4.14-9.el6_8.4 |
| Red Hat:enterprise_linux:6::server | squid34-debuginfo | 0 | 7:3.4.14-9.el6_8.4 |
| Red Hat:enterprise_linux:6::workstation | squid34 | 0 | 7:3.4.14-9.el6_8.4 |
| Red Hat:enterprise_linux:6::workstation | squid34-debuginfo | 0 | 7:3.4.14-9.el6_8.4 |
| Red Hat:enterprise_linux:7::server | squid | 0 | 7:3.5.20-2.el7_3.2 |
| Red Hat:enterprise_linux:7::server | squid-debuginfo | 0 | 7:3.5.20-2.el7_3.2 |
| Red Hat:enterprise_linux:7::server | squid-migration-script | 0 | 7:3.5.20-2.el7_3.2 |
| Red Hat:enterprise_linux:7::server | squid-sysvinit | 0 | 7:3.5.20-2.el7_3.2 |
| Red Hat:enterprise_linux:7::workstation | squid | 0 | 7:3.5.20-2.el7_3.2 |
| Red Hat:enterprise_linux:7::workstation | squid-debuginfo | 0 | 7:3.5.20-2.el7_3.2 |
| Red Hat:enterprise_linux:7::workstation | squid-migration-script | 0 | 7:3.5.20-2.el7_3.2 |
| Red Hat:enterprise_linux:7::workstation | squid-sysvinit | 0 | 7:3.5.20-2.el7_3.2 |
| SUSE:Linux Enterprise Server 11 SP4 | squid3 | 0 | 3.1.23-8.16.36.1 |
| SUSE:Linux Enterprise Server 12 SP1 | squid | 0 | 3.3.14-22.6.1 |
| SUSE:Linux Enterprise Server 12 SP2 | squid | 0 | 3.5.21-25.1 |
| SUSE:Linux Enterprise Server for Raspberry Pi 12 SP2 | squid | 0 | 3.5.21-25.1 |
| SUSE:Linux Enterprise Server for SAP Applications 11 SP4 | squid3 | 0 | 3.1.23-8.16.36.1 |
| SUSE:Linux Enterprise Server for SAP Applications 12 SP1 | squid | 0 | 3.3.14-22.6.1 |
| SUSE:Linux Enterprise Server for SAP Applications 12 SP2 | squid | 0 | 3.5.21-25.1 |
| Ubuntu:14.04:LTS | squid3 | 0 | 3.3.8-1ubuntu6.9 |
| Ubuntu:16.04:LTS | squid3 | 0 | 3.5.12-1ubuntu7.3 |
| openSUSE:Tumbleweed | squid | 0 | 4.16-1.5 |
Related vulnerabilities
- CVE-2016-4556 Double free vulnerability in Esi.cc in Squid 3.x before 3.5.18 and 4.x before 4.0.10… Also affects squid3
- CVE-2016-4555 client_side_request.cc in Squid 3.x before 3.5.18 and 4.x before 4.0.10 allows remote… Also affects squid3
- CVE-2016-4554 mime_header.cc in Squid before 3.5.18 allows remote attackers to bypass intended… Also affects squid3
- CVE-2016-4054 Buffer overflow in Squid 3.x before 3.5.17 and 4.x before 4.0.9 allows remote attackers… Also affects squid3
- CVE-2016-4053 Squid 3.x before 3.5.17 and 4.x before 4.0.9 allow remote attackers to obtain sensitive… Also affects squid3
- CVE-2016-4052 Multiple stack-based buffer overflows in Squid 3.x before 3.5.17 and 4.x before 4.0.9… Also affects squid3
- 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 squid3
- CVE-2015-5400 Squid before 3.5.6 does not properly handle CONNECT method peer responses when configured… Also affects squid3