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
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