DescriptionAn issue was discovered in Anti-Grain Geometry (AGG) 2.4 as used in SVG++ (aka svgpp) 1.2.3. In the function agg::cell_aa::not_equal, dx is assigned to (x2 - x1). If dx >= dx_limit, which is (16384 << poly_subpixel_shift), this function will call itself recursively. There can be a situation where (x2 - x1) is always bigger than dx_limit during the recursion, leading to continual stack consumption.
SourceCVE (at NVD; CERT, LWN, oss-sec, fulldisc, bugtraq, EDB, Metasploit, Red Hat, Ubuntu, Gentoo, SUSE bugzilla/CVE, Mageia, GitHub advisories/code/issues, web search, more)
ReferencesDLA-1656-1, DLA-2872-1
Debian Bugs919321, 919322

Vulnerable and fixed packages

The table below lists information on source packages.

Source PackageReleaseVersionStatus
agg (PTS)buster1:2.6.0-r132+dfsg1-3fixed
bookworm, sid, bullseye1:2.6.1-r134+dfsg1-2fixed
svgpp (PTS)buster1.2.3+dfsg1-6vulnerable
bookworm, sid, bullseye1.3.0+dfsg1-4vulnerable

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

PackageTypeReleaseFixed VersionUrgencyOriginDebian Bugs

Fixed in src:agg with:
and possibly already fixed with the inclusion of 05-fix-recursion-crash.patch
in 2.5+dfsg1-3.
No security impact on svgpp, only used to build examples, see #921097

Search for package or bug name: Reporting problems