CVE-2026-73639: Imager::File::PNG versions from 1.003 before 1.004 for Perl write past the end of the row buffer reading a PNG with a tRNS transparency chunk in read_direct8
Perl module Imager::File::PNG before 1.004 writes past the end of the row buffer when reading PNGs with a tRNS transparency chunk.
CVE-2026-73639 affects Imager::File::PNG versions 1.003 through before 1.004 for Perl. The flaw is a write past the end of the row buffer in read_direct8 when processing a PNG containing a tRNS transparency chunk. The bug was disclosed on the oss-security mailing list by Stig Palmquist, with the fix available in version 1.004.
- Affects Imager::File::PNG versions 1.003 through before 1.004
- Memory corruption occurs in read_direct8 with tRNS transparency chunks
- Fix available in version 1.004
- Disclosed on oss-security by Stig Palmquist
Vulnerabilities mentionedAll →
- CVE-2026-736399.1—Heap buffer overflow in Imager::File::PNG Perl module when reading PNGs with tRNS chunkspublished · Imager project (CPAN) Imager::File::PNG
| CVE | Vulnerability | CVSS | EPSS | Flags | Affected | Exposure | Published |
|---|---|---|---|---|---|---|---|
| CVE-2026-73639 | Heap buffer overflow in Imager::File::PNG Perl module when reading PNGs with tRNS chunks Imager::File::PNG versions from 1.003 before 1.004 contain a heap out-of-bounds write (CWE-787) in its read_direct8() decoder when a PNG carries a tRNS transparency chunk. The function adds an alpha channel to the image it creates but still sizes the row buffer from the original channel count; because libpng expands tRNS transparency into that extra channel, png_read_row() fills one channel more than the buffer holds and writes up to width bytes past the end of the allocation. An attacker who can supply a crafted PNG to an application that decodes it via Imager->read() — for example an image-upload handler — can corrupt the heap and crash the process (denial of service); only 8-bit non-palette images are affected, since palette and 16-bit images are handled by read_paletted() and read_direct16(), which size buffers correctly. Any Perl application using the affected module, whether installed standalone or bundled inside the Imager distribution, is exposed when processing untrusted PNGs. There is no CVSS score yet, no public proof-of-concept, no CISA KEV listing, and no known exploitation in the wild. |
Posted by Stig Palmquist on Sep 17 ======================================================================== https://metacpan.org/dist/Imager-File-PNG https://github.com/tonycoz/imager...
This source does not provide full text. Read it at seclists.org.