CVE-2019-12520 json
An issue was discovered in Squid through 4.7 and 5.
published 2020-04-15 6 y ago modified 2026-06-17 4 mo ago also EUVD-2019-4115
- cvss
- 7.5
- version 3.1, NVD
- cisa kev
- Not listed
- not in CISA's catalog
- epss
- 3.9%
- EPSS 3.9% chance of exploitation in 30 days, percentile 90%
- public exploits
- 0
- none known
Summary
An issue was discovered in Squid through 4.7 and 5. When receiving a request, Squid checks its cache to see if it can serve up a response. It does this by making a MD5 hash of the absolute URL of the request. If found, it servers the request. The absolute URL can include the decoded UserInfo (username and password) for certain protocols. This decoded info is prepended to the domain. This allows an attacker to provide a username that has special characters to delimit the domain, and treat the rest of the URL as a path or query string. An attacker could first make a request to their domain using an encoded username, then when a request for the target domain comes in that decodes to the exact URL, it will serve the attacker's HTML instead of the real HTML. On Squid servers that also act as reverse proxies, this allows an attacker to gain access to features that only reverse proxies can use, such as ESI.
Patch / fix
- squid Debian 14, Debian 13, Debian 12 4.8-1
debian advisories DEBIAN-CVE-2019-12520
- squid3 Ubuntu 18.04 LTS 3.5.27-1ubuntu1.7
ubuntu advisories UBUNTU-CVE-2019-12520
Ubuntu security data © Canonical Ltd., from https://github.com/canonical/ubuntu-security-notices via OSV; changed: normalised to fixed package versions per release. CC BY-SA 4.0
- squid RHEL 8 7:4.11-3.module+el8.3.0+7851+7808b5f9
- libecap RHEL 8 1.0.1-2.module+el8.1.0+4044+36416a77
red hat advisories RHSA-2020:4743
- squid3 SLES 11 SP4-LTSS, SLE Point of Sale 11 SP3 3.1.23-8.16.37.12.1
- squid SLES for SAP 12 SP4, SLES for SAP 12 SP3, SLES for SAP 12 SP2 +10 more 3.5.21-26.23.1
suse advisories SUSE-SU-2020:14460-1SUSE-SU-2020:1227-1
- libecap AlmaLinux 8 1.0.1-2.module_el8.6.0+2741+01592ae8
almalinux advisories ALSA-2020:4743
- libecap Rocky Linux 8 1.0.1-2.module+el8.4.0+404+316a0dc5
rocky linux advisories RLSA-2020:4743
Vendor advisories
What the vendors themselves say about their products: affected, fixed or not affected, and what to do.
red hat product security vex CVE-2019-12520 updated cvss 7.4
squid: Improper input validation in request allows for proxy manipulation
-
Red Hat Enterprise Linux 5 squid Red Hat Enterprise Linux 6 squid, squid34affected: no fix planned “Out of support scope”
-
Red Hat Enterprise Linux 7 squid, squid-sysvinit, squid-migration-scriptaffected: no fix planned “Will not fix”
-
Red Hat Enterprise Linux AppStream (v. 8) squid 4.11-3.module+el8.3.0+7851+7808b5f9, libecap 1.0.1-2.module+el8.1.0+4044+36416a77fixed: vendor fix RHSA-2020:4743
Red Hat CSAF VEX © Red Hat, Inc., from https://security.access.redhat.com/data/csaf/v2/vex/; changed: reduced to product statuses and remediations. CC BY 4.0 · csaf
Exploit prediction
3.92% chance of exploitation in the next 30 days, higher than 90% of all scored CVEs (FIRST EPSS, 2026-11-08).
CVSS scores
| assigned by | version | score | vector |
|---|---|---|---|
| NVD | 3.1 | 7.5 | CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:N/A:N |
| NVD | 2.0 | 5.0 | AV:N/AC:L/Au:N/C:P/I:N/A:N |
Classification
- Weakness
-
- CWE-20 Improper Input Validation
References
-
github.com
/squid-cache/squid/commits/v4
patch, third-party-advisory
-
debian.org
/security/2020/dsa-4682
vendor-advisory, third-party-advisory
-
usn.ubuntu.com
/4446-1/
vendor-advisory, third-party-advisory
-
squid-cache.org
/Versions/v4/
release-notes, vendor-advisory
-
squid-cache.org
/Versions/v4/changesets/
release-notes, vendor-advisory
-
gitlab.com
/jeriko.one/security/-/blob/master/squid/CVEs/CVE-2019-12520.txt
third-party-advisory
-
lists.debian.org
/debian-lts-announce/2020/07/msg00009.html
mailing-list, third-party-advisory
-
security.netapp.com
/advisory/ntap-20210205-0006/
third-party-advisory
Sources
- CVE List CVE-2019-12520
- NVD CVE-2019-12520
Fencer Vulns keeps one entry per vulnerability: the CVE id wins, then GHSA, and records that alias each other are merged, except that two CVEs always keep separate entries. The same data is available as JSON.