An issue was discovered in Squid through 4.7 and 5. When receiving a
request, Squid checks its cache to see if it can serve up a response. It
does this by making a MD5 hash of the absolute URL of the request. If
found, it servers the request. The absolute URL can include the decoded
UserInfo (username and password) for certain protocols. This decoded info
is prepended to the domain. This allows an attacker to provide a username
that has special characters to delimit the domain, and treat the rest of
the URL as a path or query string. An attacker could first make a request
to their domain using an encoded username, then when a request for the
target domain comes in that decodes to the exact URL, it will serve the
attacker's HTML instead of the real HTML. On Squid servers that also act as
reverse proxies, this allows an attacker to gain access to features that
only reverse proxies can use, such as ESI.
mdeslaurfixed in Debian's 3.5.23-5+deb9u2
Source: squid (LP Ubuntu Debian)
Upstream:released (4.8)
Ubuntu 12.04 ESM (Precise Pangolin):DNE
Ubuntu 14.04 ESM (Trusty Tahr):DNE
Ubuntu 16.04 LTS (Xenial Xerus):DNE
Ubuntu 18.04 LTS (Bionic Beaver):DNE
Ubuntu 20.04 LTS (Focal Fossa):not-affected (4.10-1ubuntu1)
Ubuntu 20.10 (Groovy Gorilla):not-affected (4.10-1ubuntu1)
Ubuntu 12.04 ESM (Precise Pangolin):needs-triage
Ubuntu 14.04 ESM (Trusty Tahr):DNE
Ubuntu 16.04 LTS (Xenial Xerus):not-affected (code not present)
Ubuntu 18.04 LTS (Bionic Beaver):released (3.5.27-1ubuntu1.7)
Ubuntu 20.04 LTS (Focal Fossa):DNE
Ubuntu 20.10 (Groovy Gorilla):DNE
More Information

Updated: 2020-09-09 22:47:06 UTC (commit b67d7d8b03f173f825cd706df5bd078bca500b0e)