Skip to content

SQUID-2020:9 Denial of Service processing Cache Digest Response

Critical
yadij published GHSA-vvj7-xjgq-g2jg Aug 23, 2020

Package

No package listed

Affected versions

3.0-4.12, 5.0.1-5.0.3

Patched versions

4.13, 5.0.4

Description

Problem Description:

Due to Improper Input Validation Squid is vulnerable to a Denial of Service attack
against the machine operating Squid.


Severity:

This problem allows a trusted peer to deliver to perform Denial of Service by
consuming all available CPU cycles on the machine running Squid when handling
a crafted Cache Digest response message.

This attack is limited to Squid using cache_peer with cache digests feature.

CVSS Score of 9.5
https://nvd.nist.gov/vuln-metrics/cvss/v3-calculator?vector=AV:N/AC:L/PR:N/UI:N/S:C/C:N/I:N/A:H/E:H/RL:O/RC:C/CR:X/IR:X/AR:H/MAV:N/MAC:L/MPR:X/MUI:N/MS:C/MC:N/MI:N/MA:H&version=3.1


Updated Packages:

This bug is fixed by Squid versions 4.13 and 5.0.4.

In addition, patches addressing this problem for the stable
releases can be found in our patch archives:

Squid 4:

http://www.squid-cache.org/Versions/v4/SQUID-2020_9.patch

If you are using a prepackaged version of Squid then please refer
to the package vendor for availability information on updated
packages.


Determining if your version is vulnerable:

All Squid built using --disable-cache-digests are not vulnerable.

All Squid without cache_peer directives configured are not vulnerable.

All Squid-3.x up to and including 3.5.28 using cache_peer directives with no-digest
option configured are not vulnerable.

All Squid-3.x up to and including 3.5.28 using cache_peer directives without the
no-digest option configured are vulnerable.

All Squid-4.x up to and including 4.12 using cache_peer directives with no-digest
option configured are not vulnerable.

All Squid-4.x up to and including 4.12 using cache_peer directives without the
no-digest option configured are vulnerable.

All Squid-5.x up to and including 5.0.3 using cache_peer directives with no-digest
option configured are not vulnerable.

All Squid-5.x up to and including 5.0.3 using cache_peer directives without the
no-digest option configured are vulnerable.


Workaround:

Either,

Add the no-digest option to all cache_peer lines in squid.conf

Or,

Build Squid with --disable-cache-digests


Contact details for the Squid project:

For installation / upgrade support on binary packaged versions
of Squid: Your first point of contact should be your binary
package vendor.

If you install and build Squid from the original Squid sources
then the squid-users@lists.squid-cache.org mailing list is your
primary support point. For subscription details see
http://www.squid-cache.org/Support/mailing-lists.html.

For reporting of non-security bugs in the latest STABLE release
the squid bugzilla database should be used
http://bugs.squid-cache.org/.

For reporting of security sensitive bugs send an email to the
squid-bugs@lists.squid-cache.org mailing list. It's a closed
list (though anyone can post) and security related bug reports
are treated in confidence until the impact has been established.


Credits:

This vulnerability was discovered by Lubos Uhliarik of RedHat.

Fixed by Eduard Bagdasaryan (The Measurement Factory).


Revision history:

2019-09-30 17:12:18 UTC Initial Report
2020-07-29 20:51:58 UTC Fix committed

Severity

Critical

CVE ID

CVE-2020-24606

Weaknesses

No CWEs