CVE-2019-12521 json
An issue was discovered in Squid through 4.7.
published 2020-04-15 6 y ago modified 2026-06-17 4 mo ago also EUVD-2019-4116
- cvss
- 5.9
- version 3.1, NVD
- cisa kev
- Not listed
- not in CISA's catalog
- epss
- 5.9%
- EPSS 5.9% chance of exploitation in 30 days, percentile 93%
- public exploits
- 0
- none known
Summary
An issue was discovered in Squid through 4.7. 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.
Patch / fix
- squid Debian 14, Debian 13, Debian 12 4.11-1
debian advisories DEBIAN-CVE-2019-12521
- squid Ubuntu 20.04 LTS 4.10-1ubuntu1.1
- squid3 Ubuntu 16.04 LTS 3.5.12-1ubuntu7.11
- squid3 Ubuntu 18.04 LTS 3.5.27-1ubuntu1.6
ubuntu advisories UBUNTU-CVE-2019-12521
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
- squid SLES for SAP 15, SLES 15-LTSS, SLE Module for Server Applications 15 SP1 +2 more 4.11-5.17.2
- squid SLES for SAP 12 SP5, SLES 12 SP5 4.11-4.9.1
suse advisories SUSE-SU-2020:14460-1SUSE-SU-2020:1227-1SUSE-SU-2020:1156-1SUSE-SU-2020:1134-1
- squid openSUSE Leap 15.1 4.11-lp151.2.15.2
opensuse advisories openSUSE-SU-2020:0623-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
- squid Alpine 3.11, Alpine 3.10, Alpine 3.9 4.11-r0
alpine advisories ALPINE-CVE-2019-12521
Alpine secdb © Alpine Linux, from https://secdb.alpinelinux.org via OSV; changed: normalised to fixed package versions per release. CC BY-SA 4.0
- squid Arch Linux 4.12-1
arch linux advisories AVG-1146
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-12521 updated cvss 5.9
squid: Off-by-one error in addStackElement allows for heap buffer overflow and crash
-
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
5.91% chance of exploitation in the next 30 days, higher than 93% of all scored CVEs (FIRST EPSS, 2026-11-08).
CVSS scores
| assigned by | version | score | vector |
|---|---|---|---|
| NVD | 3.1 | 5.9 | CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:N/I:N/A:H |
| NVD | 2.0 | 4.3 | AV:N/AC:M/Au:N/C:N/I:N/A:P |
Classification
References
-
openwall.com
/lists/oss-security/2020/04/23/1
mailing-list, patch, third-party-advisory
-
debian.org
/security/2020/dsa-4682
vendor-advisory, third-party-advisory
-
lists.opensuse.org
/opensuse-security-announce/2020-05/msg00018.html
vendor-advisory, mailing-list, third-party-advisory
-
security.gentoo.org
/glsa/202005-05
vendor-advisory, third-party-advisory
-
usn.ubuntu.com
/4356-1/
vendor-advisory, third-party-advisory
-
gitlab.com
/jeriko.one/security/-/blob/master/squid/CVEs/CVE-2019-12521.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-12521
- NVD CVE-2019-12521
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.