Vulnerability Description
Imager 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.
Related Weaknesses (CWE)
References
- https://github.com/tonycoz/imager/commit/dcf0a52e2732399d42ab44d98af6934658d068e
- https://github.com/tonycoz/imager/security/advisories/GHSA-j7v7-cm4g-vrgf
- https://metacpan.org/release/TONYC/Imager-1.036/changes
- http://www.openwall.com/lists/oss-security/2026/09/18/8
FAQ
What is CVE-2026-93018?
CVE-2026-93018 is a documented vulnerability. Imager 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 uninitialis...
How severe is CVE-2026-93018?
CVSS scoring is not yet available for CVE-2026-93018. Check NVD for updates.
Is there a patch for CVE-2026-93018?
Check the references section above for vendor advisories and patch information. Review vendor security bulletins for remediation guidance.