Imager::File::GIF versions through 1.002 for Perl allow a heap out of bounds (OOB) write on crafted multi-frame GIF files. Imager::File::GIF's i_readgif_multi_low allocates a single per-row buffer GifRow sized for the GIF's global screen width 'SWidth' and reuses it across every image in the file. The page-match branch validates Image.Width + Image.Left > SWidth before each DGifGetLine write, but the parallel skip-image branch at imgif.c:790-805 calls DGifGetLine(GifFile, GifRow, Width) with no such check.
Fix
Patch, vendor advisory and mitigation references on NVD 1
Every line above is quoted from NVD, CISA, Microsoft, the vendor's own advisory or DISA; nothing is generated.
Change history 1
- First seenCVSS 5.3 · tonycNVD modified 2026-10-26 14:10
Affected (CPE criteria) 1
cpe:2.3:a:tonyc:imager\:\:file\:\:gif:*:*:*:*:*:perl:*:*
References 3
- https://github.com/tonycoz/imager/commit/782e9c06cc75a0f7eed383f39522f51f44598b04.patch Patch
- https://metacpan.org/release/TONYC/Imager-File-GIF-1.003/source/Changes Release Notes
- http://www.openwall.com/lists/oss-security/2026/05/15/15 Mailing List, Third Party Advisory