Security Advisories (1)
CVE-2026-14454 (2026-07-08)

Imager versions before 1.033 for Perl treat unsigned EXIF IFD entry counts as signed. Imager mishandled large EXIF IFD entry count values, treating them as negative numbers. This could lead to an attempt to allocate a block nearly the size of the address space, which fails and kills the process. An attacker could craft an image with EXIF data that terminates a worker process.

NAME

Imager::Transform - a library of register machine image transformations

SYNOPSIS

# get a list of transformations
my @funcs = Imager::Transform->list;
# create a transformation object
my $tran = Imager::Transform->new($name);
# describe it
print $tran->describe;
# a list of constant names
my @constants = $tran->constants;
# information about some of the constants
my @info = $tran->constants(@constants);

DESCRIPTION

This module provides a library of transformations that use the Imager transform2() function.

The aim is to provide a place to collect these transformations.

At some point there might be an interface to add new functions, but there's not a whole lot of point to that.

The interface is a little sparse as yet.

METHODS

my @names = Imager::Transform->list

Returns a list of the transformations.

my $desc = Imager::Transform->describe($name);
my $desc = $tran->describe()

Describes a transformation specified either by name (as a class method) or by reference (as an instance method).

The class method returns undef if there is no such transformation.

my $tran = Imager::Transform->new($name)

Create a new transformation object. Returns undef if there is no such transformation.

my @inputs = $tran->inputs;
my $inputs = $tran->inputs;

Returns a list of input image descriptions, or the number of them, depending on content.

The list contains hash references, which current contain only one member, desc, a description of the use of the input image.

$tran->constants

Returns a list of names of constants that can be set for the transformation.

$tran->constants($name, $name, ...)

Returns a hashref for each named constant, which contains the default in key default and a description in key desc.

my $out = $tran->transform(\%opts, \%constants, @imgs)

Perform the image transformation.

Returns the new image on success, or undef on failure, in which case you can use $tran->errstr to get an error message.

$tran->errstr

The error message, if any from the last image transformation.

BUGS

Needs more transformations.

SEE ALSO

Imager(3), transform.perl

AUTHOR

Tony Cook <tonyc@cpan.org>