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::CountColor - demonstrates writing a simple function using Imager.

SYNOPSIS

use Imager;
use Imager::CountColor;
my $im = Imager->new(...); # some Imager image
...; # some sort of manipulation
print count_color($im, $color_object);

DESCRIPTION

This module is a simple demonstration of how to create an XS module that works with Imager objects.

You may want to copy the source for this module as a start.

SEE ALSO

Imager, Imager::Filter::DynTest

AUTHOR

Tony Cook <tonyc@cpan.org>