CVE-2026-93018

NameCVE-2026-93018
DescriptionImager versions before 1.036 for Perl disclose uninitialised heap memory reading a paletted image with pixel indexes past its colour map in i_gpix_p and i_glin_p. The palette is allocated uninitialised, and only the entries a reader adds count as populated. The TGA reader stores pixel indexes without checking them against the colour map. i_gpix_p() rejects only an index greater than the count, so an index equal to it reads the first unpopulated entry, and getpixel() returns it. i_glin_p() skips any index at or beyond the count without writing that pixel to the caller's buffer. The palette-to-RGB conversion reads each row through an uninitialised buffer, so those pixels of the converted image hold prior heap contents. Reading an attacker-supplied image through Imager->read() and then fetching its pixels or converting it to RGB discloses process heap memory.
SourceCVE (at NVD; CERT, ENISA, LWN, oss-sec, fulldisc, Debian ELTS, Red Hat, Ubuntu, Gentoo, SUSE bugzilla/CVE, GitHub advisories/code/issues, web search, more)

Vulnerable and fixed packages

The table below lists information on source packages.

Source PackageReleaseVersionStatus
libimager-perl (PTS)bookworm1.019+dfsg-1vulnerable
trixie1.027+dfsg-1vulnerable
forky1.036+dfsg-1fixed
sid1.037+dfsg-2fixed

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

PackageTypeReleaseFixed VersionUrgencyOriginDebian Bugs
libimager-perlsource(unstable)1.036+dfsg-1

Notes

[trixie] - libimager-perl <no-dsa> (Minor issue)
[bookworm] - libimager-perl <postponed> (Minor issue; off-by-one on paletted index discloses uninitialised heap)
https://lists.security.metacpan.org/cve-announce/msg/43654795/
https://github.com/tonycoz/imager/security/advisories/GHSA-j7v7-cm4g-vrgf
Fixed by: https://github.com/tonycoz/imager/commit/dcf0a52e2732399d42ab44d98af6934658d068ee (v1.036)

Search for package or bug name: Reporting problems