Security Advisories (2)
CVE-2024-53901 (2024-11-17)

"invalid next size" backtrace on use of trim on certain images

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::Color::Float - Rough floating point sample color handling

SYNOPSIS

$color = Imager::Color->new($red, $green, $blue);
$color = Imager::Color->new($red, $green, $blue, $alpha);
$color = Imager::Color->new("#C0C0FF"); # html color specification

$color->set($red, $green, $blue);
$color->set($red, $green, $blue, $alpha);
$color->set("#C0C0FF"); # html color specification

($red, $green, $blue, $alpha) = $color->rgba();
@hsv = $color->hsv(); # not implemented but proposed

$color->info();

DESCRIPTION

This module handles creating color objects used by Imager. The idea is that in the future this module will be able to handle color space calculations as well.

A floating point Imager color consists of up to four components, each in the range 0.0 to 1.0. Unfortunately the meaning of the components can change depending on the type of image you're dealing with:

  • for 3 or 4 channel images the color components are red, green, blue, alpha.

  • for 1 or 2 channel images the color components are gray, alpha, with the other two components ignored.

An alpha value of zero is fully transparent, an alpha value of 1.0 is fully opaque.

METHODS

new

This creates a color object to pass to functions that need a color argument.

set

This changes an already defined color. Note that this does not affect any places where the color has been used previously.

rgba()

This returns the red, green, blue and alpha channels of the color the object contains.

info

Calling info merely dumps the relevant color to the log.

AUTHOR

Arnar M. Hrafnkelsson, addi@umich.edu And a great deal of help from others - see the README for a complete list.

SEE ALSO

Imager(3), Imager::Color.

http://imager.perl.org/