CVE-2019-12521

NameCVE-2019-12521
DescriptionAn 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.
SourceCVE (at NVD; CERT, LWN, oss-sec, fulldisc, bugtraq, EDB, Metasploit, Red Hat, Ubuntu, Gentoo, SUSE bugzilla/CVE, Mageia, GitHub code/issues, web search, more)
ReferencesDLA-2278-1, DSA-4682-1
NVD severitymedium

Vulnerable and fixed packages

The table below lists information on source packages.

Source PackageReleaseVersionStatus
squid (PTS)buster, buster (security)4.6-1+deb10u3fixed
bullseye, sid4.12-1fixed
squid3 (PTS)stretch3.5.23-5+deb9u1vulnerable
stretch (security)3.5.23-5+deb9u2fixed

The information below is based on the following data on fixed versions.

PackageTypeReleaseFixed VersionUrgencyOriginDebian Bugs
squidsourcebuster4.6-1+deb10u2DSA-4682-1
squidsource(unstable)4.11-1
squid3sourcestretch3.5.23-5+deb9u2DLA-2278-1
squid3source(unstable)(unfixed)

Notes

http://www.squid-cache.org/Advisories/SQUID-2019_12.txt
Squid 4: http://www.squid-cache.org/Versions/v4/changesets/squid-4-fdd4123629320aa1ee4c3481bb392437c90d188d.patch

Search for package or bug name: Reporting problems