Skip to content
Fencer Vulns
medium 5.9

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, squid34
    affected: no fix planned “Out of support scope”
  • Red Hat Enterprise Linux 7 squid, squid-sysvinit, squid-migration-script
    affected: 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+36416a77
    fixed: 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

Weakness

References

Sources

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.