Show vulnerabilities with patch / with exploit

Multiple vulnerabilities in Squid Proxy Cache



Published: 2020-04-23 | Updated: 2020-05-11
Severity High
Patch available YES
Number of vulnerabilities 3
CVE ID CVE-2020-11945
CVE-2019-12519
CVE-2019-12521
CWE ID CWE-190
CWE-787
Exploitation vector Network
Public exploit N/A
Vulnerable software
Subscribe
Squid
Server applications / IDS/IPS systems, Firewalls and proxy servers

Vendor Squid-cache.org

Security Advisory

1) Integer overflow

Severity: High

CVSSv3: 7.7 [CVSS:3.0/AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H/E:U/RL:O/RC:C] [PCI]

CVE-ID: CVE-2020-11945

CWE-ID: CWE-190 - Integer Overflow or Wraparound

Exploit availability: No

Description

The vulnerability allows a remote attacker to execute arbitrary code on the target system.

The vulnerability exists due to integer overflow when processing HTTP Digest Authentication tokens, if memory pooling is disabled. A remote attacker can pass a specially crafted authentication nonce and execute arbitrary code on the server through the free'd nonce credentials.

In case memory pooling is enabled, a remote attacker can replay a sniffed Digest Authentication nonce to gain access  to resources that are otherwise forbidden.

Successful exploitation of this vulnerability may result in complete compromise of vulnerable system.


Mitigation

Install updates from vendor's website.

Vulnerable software versions

Squid: 2.0, 2.0.patch1, 2.0.patch2, 2.0.pre1, 2.0.release, 2.0_patch2, 2.1, 2.1.patch1, 2.1.patch2, 2.1.pre1, 2.1.pre3, 2.1.pre4, 2.1.release, 2.1_patch2, 2.2, 2.2.devel3, 2.2.devel4, 2.2.pre1, 2.2.pre2, 2.2.stable1, 2.2.stable2, 2.2.stable3, 2.2.stable4, 2.2.stable5, 2.3, 2.3.devel2, 2.3.devel3, 2.3.stable1, 2.3.stable2, 2.3.stable3, 2.3.stable4, 2.3.stable5, 2.3_.stable4, 2.3_.stable5, 2.3_stable5, 2.4, 2.4.stable1, 2.4.stable2, 2.4.stable3, 2.4.stable4, 2.4.stable5, 2.4.stable6, 2.4.stable7, 2.4_.stable2, 2.4_.stable6, 2.4_.stable7, 2.4_9, 2.4_stable7, 2.4_stable_2, 2.4_stable_3, 2.5, 2.5.6, 2.5.9, 2.5.stable1, 2.5.stable2, 2.5.stable3, 2.5.stable4, 2.5.stable5, 2.5.stable6, 2.5.stable7, 2.5.stable8, 2.5.stable9, 2.5.stable10, 2.5.stable11, 2.5.stable12, 2.5.stable13, 2.5.stable14, 2.5_.stable1, 2.5_.stable3, 2.5_.stable4, 2.5_.stable5, 2.5_.stable6, 2.5_stable3, 2.5_stable4, 2.5_stable9, 2.6, 2.6.stable1, 2.6.stable2, 2.6.stable3, 2.6.stable4, 2.6.stable5, 2.6.stable6, 2.6.stable7, 2.6.stable8, 2.6.stable9, 2.6.stable10, 2.6.stable11, 2.6.stable12, 2.6.stable13, 2.6.stable14, 2.6.stable15, 2.6.stable16, 2.6.stable17, 2.6.stable18, 2.6.stable19, 2.6.stable20, 2.6.stable21, 2.6.stable22, 2.6.stable23, 2.6.stable24, 2.7, 2.7.RC2, 2.7.stable1, 2.7.stable2, 2.7.stable3, 2.7.stable4, 2.7.stable5, 2.7.STABLE6, 2.7.STABLE7, 2.7.STABLE8, 2.7.STABLE9, 3.0, 3.0.stable1, 3.0.stable2, 3.0.stable3, 3.0.stable4, 3.0.stable5, 3.0.stable6, 3.0.stable7, 3.0.stable8, 3.0.stable9, 3.0.stable10, 3.0.stable11, 3.0.stable12, 3.0.stable13, 3.0.stable14, 3.0.stable15, 3.0.stable16, 3.0.stable17, 3.0.stable18, 3.0.stable19, 3.0.stable20, 3.0.stable21, 3.0.stable22, 3.0.stable23, 3.0.stable24, 3.0.stable25, 3.0.stable26, 3.1, 3.1.0.1, 3.1.0.2, 3.1.0.3, 3.1.0.4, 3.1.0.5, 3.1.0.6, 3.1.0.7, 3.1.0.8, 3.1.0.9, 3.1.0.10, 3.1.0.11, 3.1.0.12, 3.1.0.13, 3.1.0.14, 3.1.0.15, 3.1.0.16, 3.1.0.17, 3.1.0.18, 3.1.1, 3.1.2, 3.1.3, 3.1.4, 3.1.5, 3.1.5.1, 3.1.6, 3.1.7, 3.1.8, 3.1.9, 3.1.10, 3.1.11, 3.1.12, 3.1.12.1, 3.1.12.2, 3.1.12.3, 3.1.13, 3.1.14, 3.1.15, 3.1.16, 3.1.17, 3.1.18, 3.1.19, 3.1.20, 3.1.21, 3.1.22, 3.1.23, 3.2, 3.2.0.1, 3.2.0.2, 3.2.0.3, 3.2.0.4, 3.2.0.5, 3.2.0.6, 3.2.0.7, 3.2.0.8, 3.2.0.9, 3.2.0.10, 3.2.0.11, 3.2.0.12, 3.2.0.13, 3.2.0.14, 3.2.0.15, 3.2.0.16, 3.2.0.17, 3.2.0.18, 3.2.0.19, 3.2.1, 3.2.2, 3.2.3, 3.2.4, 3.2.5, 3.2.6, 3.2.7, 3.2.8, 3.2.9, 3.2.10, 3.2.11, 3.2.12, 3.2.13, 3.2.14, 3.3, 3.3.0, 3.3.0.1, 3.3.0.2, 3.3.0.3, 3.3.1, 3.3.2, 3.3.3, 3.3.4, 3.3.5, 3.3.6, 3.3.7, 3.3.8, 3.3.9, 3.3.10, 3.3.11, 3.3.12, 3.3.13, 3.3.14, 3.4, 3.4.0.1, 3.4.0.2, 3.4.0.3, 3.4.1, 3.4.2, 3.4.3, 3.4.4, 3.4.4.1, 3.4.4.2, 3.4.5, 3.4.6, 3.4.7, 3.4.8, 3.4.9, 3.4.10, 3.4.11, 3.4.12, 3.4.13, 3.4.14, 3.5, 3.5.0.1, 3.5.0.2, 3.5.0.3, 3.5.0.4, 3.5.1, 3.5.2, 3.5.3, 3.5.4, 3.5.5, 3.5.6, 3.5.7, 3.5.8, 3.5.9, 3.5.10, 3.5.11, 3.5.12, 3.5.13, 3.5.14, 3.5.15, 3.5.16, 3.5.17, 3.5.18, 3.5.19, 3.5.20, 3.5.21, 3.5.22, 3.5.23, 3.5.24, 3.5.25, 3.5.26, 3.5.27, 3.5.28, 4.0, 4.0.1, 4.0.2, 4.0.3, 4.0.4, 4.0.5, 4.0.6, 4.0.7, 4.0.8, 4.0.9, 4.0.10, 4.0.11, 4.0.12, 4.0.13, 4.0.14, 4.0.15, 4.0.16, 4.0.17, 4.0.18, 4.0.19, 4.0.20, 4.0.21, 4.0.22, 4.0.23, 4.0.24, 4.0.25, 4.1, 4.2, 4.3, 4.4, 4.5, 4.6, 4.7, 4.8, 4.9, 4.10, 5.0, 5.0.1

CPE External links

http://master.squid-cache.org/Versions/v4/changesets/squid-4-eeebf0f37a72a2de08348e85ae34b02c34e9a811.patch
http://www.openwall.com/lists/oss-security/2020/04/23/2
http://www.squid-cache.org/Versions/v4/changesets/squid-4-eeebf0f37a72a2de08348e85ae34b02c34e9a811.patch
https://bugzilla.suse.com/show_bug.cgi?id=1170313
https://github.com/squid-cache/squid/commit/eeebf0f37a72a2de08348e85ae34b02c34e9a811
https://github.com/squid-cache/squid/pull/585
https://www.debian.org/security/2020/dsa-4682
http://www.squid-cache.org/Advisories/SQUID-2020_4.txt

Q & A

Can this vulnerability be exploited remotely?

Yes. This vulnerability can be exploited by a remote authenticated user via the Internet.

How the attacker can exploit this vulnerability?

The attacker would have to send a specially crafted request to the affected application in order to exploit this vulnerability.

Is there known malware, which exploits this vulnerability?

No. We are not aware of malware exploiting this vulnerability.

2) Out-of-bounds write

Severity: High

CVSSv3: 8.5 [CVSS:3.0/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H/E:U/RL:O/RC:C] [PCI]

CVE-ID: CVE-2019-12519

CWE-ID: CWE-787 - Out-of-bounds Write

Exploit availability: No

Description

The vulnerability allows a remote attacker to compromise vulnerable system.

The vulnerability exists due to a boundary error when handling the tag esi:when within ESIExpression::Evaluate. A remote attacker can pass specially crafted data to the application, trigger out-of-bounds write and execute arbitrary code on the target system.

Mitigation

Install updates from vendor's website.

Vulnerable software versions

Squid: 3.0, 3.0.stable1, 3.0.stable2, 3.0.stable3, 3.0.stable4, 3.0.stable5, 3.0.stable6, 3.0.stable7, 3.0.stable8, 3.0.stable9, 3.0.stable10, 3.0.stable11, 3.0.stable12, 3.0.stable13, 3.0.stable14, 3.0.stable15, 3.0.stable16, 3.0.stable17, 3.0.stable18, 3.0.stable19, 3.0.stable20, 3.0.stable21, 3.0.stable22, 3.0.stable23, 3.0.stable24, 3.0.stable25, 3.0.stable26, 3.1, 3.1.0.1, 3.1.0.2, 3.1.0.3, 3.1.0.4, 3.1.0.5, 3.1.0.6, 3.1.0.7, 3.1.0.8, 3.1.0.9, 3.1.0.10, 3.1.0.11, 3.1.0.12, 3.1.0.13, 3.1.0.14, 3.1.0.15, 3.1.0.16, 3.1.0.17, 3.1.0.18, 3.1.1, 3.1.2, 3.1.3, 3.1.4, 3.1.5, 3.1.5.1, 3.1.6, 3.1.7, 3.1.8, 3.1.9, 3.1.10, 3.1.11, 3.1.12, 3.1.12.1, 3.1.12.2, 3.1.12.3, 3.1.13, 3.1.14, 3.1.15, 3.1.16, 3.1.17, 3.1.18, 3.1.19, 3.1.20, 3.1.21, 3.1.22, 3.1.23, 3.2, 3.2.0.1, 3.2.0.2, 3.2.0.3, 3.2.0.4, 3.2.0.5, 3.2.0.6, 3.2.0.7, 3.2.0.8, 3.2.0.9, 3.2.0.10, 3.2.0.11, 3.2.0.12, 3.2.0.13, 3.2.0.14, 3.2.0.15, 3.2.0.16, 3.2.0.17, 3.2.0.18, 3.2.0.19, 3.2.1, 3.2.2, 3.2.3, 3.2.4, 3.2.5, 3.2.6, 3.2.7, 3.2.8, 3.2.9, 3.2.10, 3.2.11, 3.2.12, 3.2.13, 3.2.14, 3.3, 3.3.0, 3.3.0.1, 3.3.0.2, 3.3.0.3, 3.3.1, 3.3.2, 3.3.3, 3.3.4, 3.3.5, 3.3.6, 3.3.7, 3.3.8, 3.3.9, 3.3.10, 3.3.11, 3.3.12, 3.3.13, 3.3.14, 3.4, 3.4.0.1, 3.4.0.2, 3.4.0.3, 3.4.1, 3.4.2, 3.4.3, 3.4.4, 3.4.4.1, 3.4.4.2, 3.4.5, 3.4.6, 3.4.7, 3.4.8, 3.4.9, 3.4.10, 3.4.11, 3.4.12, 3.4.13, 3.4.14, 3.5, 3.5.0.1, 3.5.0.2, 3.5.0.3, 3.5.0.4, 3.5.1, 3.5.2, 3.5.3, 3.5.4, 3.5.5, 3.5.6, 3.5.7, 3.5.8, 3.5.9, 3.5.10, 3.5.11, 3.5.12, 3.5.13, 3.5.14, 3.5.15, 3.5.16, 3.5.17, 3.5.18, 3.5.19, 3.5.20, 3.5.21, 3.5.22, 3.5.23, 3.5.24, 3.5.25, 3.5.26, 3.5.27, 3.5.28, 4.0, 4.0.1, 4.0.2, 4.0.3, 4.0.4, 4.0.5, 4.0.6, 4.0.7, 4.0.8, 4.0.9, 4.0.10, 4.0.11, 4.0.12, 4.0.13, 4.0.14, 4.0.15, 4.0.16, 4.0.17, 4.0.18, 4.0.19, 4.0.20, 4.0.21, 4.0.22, 4.0.23, 4.0.24, 4.0.25, 4.1, 4.2, 4.3, 4.4, 4.5, 4.6, 4.7, 4.8, 4.9, 4.10

CPE External links

http://www.openwall.com/lists/oss-security/2020/04/23/1
https://gitlab.com/jeriko.one/security/-/blob/master/squid/CVEs/CVE-2019-12519.txt
https://www.debian.org/security/2020/dsa-4682
http://www.squid-cache.org/Advisories/SQUID-2019_12.txt

Q & A

Can this vulnerability be exploited remotely?

Yes. This vulnerability can be exploited by a remote non-authenticated attacker via the Internet.

How the attacker can exploit this vulnerability?

The attacker would have to send a specially crafted request to the affected application in order to exploit this vulnerability.

Is there known malware, which exploits this vulnerability?

No. We are not aware of malware exploiting this vulnerability.

3) Out-of-bounds write

Severity: Medium

CVSSv3: 6.5 [CVSS:3.0/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H/E:U/RL:O/RC:C] [PCI]

CVE-ID: CVE-2019-12521

CWE-ID: CWE-787 - Out-of-bounds Write

Exploit availability: No

Description

The vulnerability allows a remote attacker to perform a denial of service (DoS) attack.

The vulnerability exists due to a boundary error when processing untrusted input. When Squid is parsing ESI, it keeps the ESI elements in ESIContext. ESIContext contains a buffer for holding a stack of ESIElements. When a new ESIElement is parsed, it is added via addStackElement. addStackElement has a check for the number of elements in this buffer, but it's off by 1, leading to a Heap Overflow of 1 element. The overflow is within the same structure so it can't affect adjacent memory blocks, and thus just leads to a crash while processing.

Mitigation

Install updates from vendor's website.

Vulnerable software versions

Squid: 3.0, 3.0.stable1, 3.0.stable2, 3.0.stable3, 3.0.stable4, 3.0.stable5, 3.0.stable6, 3.0.stable7, 3.0.stable8, 3.0.stable9, 3.0.stable10, 3.0.stable11, 3.0.stable12, 3.0.stable13, 3.0.stable14, 3.0.stable15, 3.0.stable16, 3.0.stable17, 3.0.stable18, 3.0.stable19, 3.0.stable20, 3.0.stable21, 3.0.stable22, 3.0.stable23, 3.0.stable24, 3.0.stable25, 3.0.stable26, 3.1, 3.1.0.1, 3.1.0.2, 3.1.0.3, 3.1.0.4, 3.1.0.5, 3.1.0.6, 3.1.0.7, 3.1.0.8, 3.1.0.9, 3.1.0.10, 3.1.0.11, 3.1.0.12, 3.1.0.13, 3.1.0.14, 3.1.0.15, 3.1.0.16, 3.1.0.17, 3.1.0.18, 3.1.1, 3.1.2, 3.1.3, 3.1.4, 3.1.5, 3.1.5.1, 3.1.6, 3.1.7, 3.1.8, 3.1.9, 3.1.10, 3.1.11, 3.1.12, 3.1.12.1, 3.1.12.2, 3.1.12.3, 3.1.13, 3.1.14, 3.1.15, 3.1.16, 3.1.17, 3.1.18, 3.1.19, 3.1.20, 3.1.21, 3.1.22, 3.1.23, 3.2, 3.2.0.1, 3.2.0.2, 3.2.0.3, 3.2.0.4, 3.2.0.5, 3.2.0.6, 3.2.0.7, 3.2.0.8, 3.2.0.9, 3.2.0.10, 3.2.0.11, 3.2.0.12, 3.2.0.13, 3.2.0.14, 3.2.0.15, 3.2.0.16, 3.2.0.17, 3.2.0.18, 3.2.0.19, 3.2.1, 3.2.2, 3.2.3, 3.2.4, 3.2.5, 3.2.6, 3.2.7, 3.2.8, 3.2.9, 3.2.10, 3.2.11, 3.2.12, 3.2.13, 3.2.14, 3.3, 3.3.0, 3.3.0.1, 3.3.0.2, 3.3.0.3, 3.3.1, 3.3.2, 3.3.3, 3.3.4, 3.3.5, 3.3.6, 3.3.7, 3.3.8, 3.3.9, 3.3.10, 3.3.11, 3.3.12, 3.3.13, 3.3.14, 3.4, 3.4.0.1, 3.4.0.2, 3.4.0.3, 3.4.1, 3.4.2, 3.4.3, 3.4.4, 3.4.4.1, 3.4.4.2, 3.4.5, 3.4.6, 3.4.7, 3.4.8, 3.4.9, 3.4.10, 3.4.11, 3.4.12, 3.4.13, 3.4.14, 3.5, 3.5.0.1, 3.5.0.2, 3.5.0.3, 3.5.0.4, 3.5.1, 3.5.2, 3.5.3, 3.5.4, 3.5.5, 3.5.6, 3.5.7, 3.5.8, 3.5.9, 3.5.10, 3.5.11, 3.5.12, 3.5.13, 3.5.14, 3.5.15, 3.5.16, 3.5.17, 3.5.18, 3.5.19, 3.5.20, 3.5.21, 3.5.22, 3.5.23, 3.5.24, 3.5.25, 3.5.26, 3.5.27, 3.5.28, 4.0, 4.0.1, 4.0.2, 4.0.3, 4.0.4, 4.0.5, 4.0.6, 4.0.7, 4.0.8, 4.0.9, 4.0.10, 4.0.11, 4.0.12, 4.0.13, 4.0.14, 4.0.15, 4.0.16, 4.0.17, 4.0.18, 4.0.19, 4.0.20, 4.0.21, 4.0.22, 4.0.23, 4.0.24, 4.0.25, 4.1, 4.2, 4.3, 4.4, 4.5, 4.6, 4.7, 5.0, 5.0.1

CPE External links

http://www.openwall.com/lists/oss-security/2020/04/23/1
https://gitlab.com/jeriko.one/security/-/blob/master/squid/CVEs/CVE-2019-12521.txt
https://www.debian.org/security/2020/dsa-4682
http://www.squid-cache.org/Advisories/SQUID-2019_12.txt

Q & A

Can this vulnerability be exploited remotely?

Yes. This vulnerability can be exploited by a remote non-authenticated attacker via the Internet.

How the attacker can exploit this vulnerability?

The attacker would have to send a specially crafted request to the affected application in order to exploit this vulnerability.

Is there known malware, which exploits this vulnerability?

No. We are not aware of malware exploiting this vulnerability.