|CVE-2020-15049 CVE-2020-15810 CVE-2020-15811 CVE-2020-24606
Several security vulnerabilities have been discovered in Squid, a high- performance proxy caching server for web clients.
An issue was discovered in http/ContentLengthInterpreter.cc in
Squid. A Request Smuggling and Poisoning attack can succeed against
the HTTP cache. The client sends an HTTP request with a Content-
Length header containing "+\ "-" or an uncommon shell whitespace
character prefix to the length field-value.
This update also includes several other improvements to the
HttpHeader parsing code.
CVE-2020-15810 and CVE-2020-15811
Due to incorrect data validation, HTTP Request Smuggling attacks may
succeed against HTTP and HTTPS traffic. This leads to cache
poisoning and allows any client, including browser scripts, to
bypass local security and poison the proxy cache and any downstream
caches with content from an arbitrary source. When configured for
relaxed header parsing (the default), Squid relays headers
containing whitespace characters to upstream servers. When this
occurs as a prefix to a Content-Length header, the frame length
specified will be ignored by Squid (allowing for a conflicting
length to be used from another Content-Length header) but relayed
Squid allows a trusted peer to perform Denial of Service by
consuming all available CPU cycles during handling of a crafted
Cache Digest response message. This only occurs when cache_peer is
used with the cache digests feature. The problem exists because
peerDigestHandleReply() livelocking in peer_digest.cc mishandles
For Debian 8 jessie, these problems have been fixed in version 3.5.23-5+deb8u2.
We recommend that you upgrade your squid3 packages.
Further information about Extended LTS security advisories can be found in the dedicated section of our website.