CVE-2020-15811

NameCVE-2020-15811
DescriptionAn issue was discovered in Squid before 4.13 and 5.x before 5.0.4. Due to incorrect data validation, HTTP Request Splitting attacks may succeed against HTTP and HTTPS traffic. This leads to cache poisoning. This allows any client, including browser scripts, to bypass local security and poison the browser cache and any downstream caches with content from an arbitrary source. Squid uses a string search instead of parsing the Transfer-Encoding header to find chunked encoding. This allows an attacker to hide a second request inside Transfer-Encoding: it is interpreted by Squid as chunked and split out into a second request delivered upstream. Squid will then deliver two distinct responses to the client, corrupting any downstream caches.
SourceCVE (at NVD; CERT, LWN, oss-sec, fulldisc, Red Hat, Ubuntu, Gentoo, SUSE bugzilla/CVE, GitHub advisories/code/issues, web search, more)
ReferencesDLA-2394-1, DSA-4751-1
Debian Bugs968932

Vulnerable and fixed packages

The table below lists information on source packages.

Source PackageReleaseVersionStatus
squid (PTS)bullseye (security), bullseye4.13-10+deb11u3fixed
bookworm, bookworm (security)5.7-2+deb12u2fixed
sid, trixie6.12-1fixed

The information below is based on the following data on fixed versions.

PackageTypeReleaseFixed VersionUrgencyOriginDebian Bugs
squidsourcebuster4.6-1+deb10u4DSA-4751-1
squidsource(unstable)4.13-1968932
squid3sourcestretch3.5.23-5+deb9u5DLA-2394-1
squid3source(unstable)(unfixed)

Notes

https://github.com/squid-cache/squid/security/advisories/GHSA-c7p8-xqhm-49wv
Squid 4: http://www.squid-cache.org/Versions/v4/changesets/SQUID-2020_8.patch

Search for package or bug name: Reporting problems