Security Advisories (1)
CVE-2026-8669 (2026-05-15)

Imager versions through 1.030 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.

NAME

Imager::File::ICO - read MS Icon files

SYNOPSIS

use Imager;

my $img = Imager->new;
$img->read(file=>"foo.ico")
  or die $img->errstr;

my @imgs = Imager->read_multi(file => "foo.ico")
  or die Imager->errstr;

$img->write(file => "foo.ico")
  or die $img->errstr;

Imager->write_multi({ file => "foo.ico" }, @imgs)
  or die Imager->errstr;

DESCRIPTION

Imager's MS Icon support is documented in Imager::Files.

AUTHOR

Tony Cook <tonyc@cpan.org>

SEE ALSO

Imager, Imager::Files.