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.
History

Tue, 22 Sep 2026 19:30:00 +0000

Type Values Removed Values Added
Metrics cvssV3_1

{'score': 5.5, 'vector': 'CVSS:3.1/AV:L/AC:L/PR:N/UI:R/S:U/C:H/I:N/A:N'}

ssvc

{'options': {'Automatable': 'no', 'Exploitation': 'none', 'Technical Impact': 'partial'}, 'version': '2.0.3'}


Sat, 19 Sep 2026 00:45:00 +0000

Type Values Removed Values Added
First Time appeared Tonycoz
Tonycoz imager
Vendors & Products Tonycoz
Tonycoz imager

Fri, 18 Sep 2026 21:30:00 +0000

Type Values Removed Values Added
References

Fri, 18 Sep 2026 14:15:00 +0000

Type Values Removed Values Added
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.
Title 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
Weaknesses CWE-193
CWE-908
References

cve-icon MITRE

Status: PUBLISHED

Assigner: CPANSec

Published: 2026-09-18T13:57:37.837Z

Updated: 2026-09-22T18:27:38.610Z

Reserved: 2026-09-17T14:56:50.796Z

Link: CVE-2026-93018

cve-icon Vulnrichment

Updated: 2026-09-18T17:06:58.132Z

cve-icon NVD

Status : Deferred

Published: 2026-09-18T14:19:04.363

Modified: 2026-09-22T19:16:57.277

Link: CVE-2026-93018

cve-icon Redhat

No data.