CPANSA-Imager-2026-93018: Imager vulnerability
| Publisher | giterlizzi | Document category | csaf_security_advisory |
|---|---|---|---|
| Initial release date | 2026-09-18T00:00:00 | Engine | CSAF Perl Toolkit 0.26 |
| Current release date | 2026-09-18T00:00:00 | Build Date | |
| Current version | 1 | Status | final |
| CVSS v3.1 Base Score | 5.5 | Severity | |
| Original language | Language | en | |
| Also referred to | |||
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.
Vulnerabilities
CVE-2026-93018
Vulnerability 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.
| Weakness | CWE-193 : Off-by-one Error |
|---|
Product status
Known affected
| Product | Score | ||||||||
|---|---|---|---|---|---|---|---|---|---|
| Imager less than 1.036 |
|
Fixed
- Imager greater than or equal 1.036
giterlizzi
Namespace: https://github.com/giterlizzi/
gdt@cpan.org
References
- CPANSA-Imager-2026-93018 JSON self
https://raw.githubusercontent.com/giterlizzi/perl-CPANSA-CSAF/develop/csaf/white/2026/cpansa-imager-2026-93018.json - https://github.com/tonycoz/imager/commit/dcf0a52e2732399d42ab44d98af6934658d068ee.patch external
https://github.com/tonycoz/imager/commit/dcf0a52e2732399d42ab44d98af6934658d068ee.patch - https://github.com/tonycoz/imager/security/advisories/GHSA-j7v7-cm4g-vrgf external
https://github.com/tonycoz/imager/security/advisories/GHSA-j7v7-cm4g-vrgf - https://metacpan.org/release/TONYC/Imager-1.036/changes external
https://metacpan.org/release/TONYC/Imager-1.036/changes - http://www.openwall.com/lists/oss-security/2026/09/18/8 external
http://www.openwall.com/lists/oss-security/2026/09/18/8 - CVE-2026-93018 (NVD) external
https://nvd.nist.gov/vuln/detail/CVE-2026-93018
Revision history
| Version | Date of the revision | Summary of the revision |
|---|---|---|
| 1 | Fri Sep 18 00:00:00 2026 | First release |
Sharing rules
TLP:WHITE
For the TLP version see: https://www.first.org/tlp/