Security Advisories (1)
CVE-2026-15534 (2026-08-09)

Perl versions through 5.45.1 have out-of-bounds heap reads and writes during regular expression matching via an undersized superlinear cache in S_regmatch. The regex engine's superlinear cache holds one bit per subject position for each participating WHILEM node, so the bit count is the subject length plus one times the number of nodes. Nothing checks that product for positive overflow of the signed 32-bit count: a 286331153 byte subject matched against a pattern with 15 participating nodes stores the count as 14, leaving a two byte cache. The cache is then indexed from the real match position and node number, so reads go past the end of the allocation, and on failure CACHEsayNO sets a bit past it. A caller that matches an attacker controlled subject of this size against a pattern of this shape can crash the process or corrupt heap memory.

NAME

CPAN::Meta::Validator - validate CPAN distribution metadata structures

VERSION

version 2.150013

SYNOPSIS

my $struct = decode_json_file('META.json');

my $cmv = CPAN::Meta::Validator->new( $struct );

unless ( $cmv->is_valid ) {
  my $msg = "Invalid META structure.  Errors found:\n";
  $msg .= join( "\n", $cmv->errors );
  die $msg;
}

DESCRIPTION

This module validates a CPAN Meta structure against the version of the the specification claimed in the meta-spec field of the structure.

METHODS

new

my $cmv = CPAN::Meta::Validator->new( $struct )

The constructor must be passed a metadata structure.

is_valid

if ( $cmv->is_valid ) {
  ...
}

Returns a boolean value indicating whether the metadata provided is valid.

errors

warn( join "\n", $cmv->errors );

Returns a list of errors seen during validation.

BUGS

Please report any bugs or feature using the CPAN Request Tracker. Bugs can be submitted through the web interface at http://rt.cpan.org/Dist/Display.html?Queue=CPAN-Meta

When submitting a bug or request, please include a test-file or a patch to an existing test-file that illustrates the bug or desired feature.

AUTHORS

  • David Golden <dagolden@cpan.org>

  • Ricardo Signes <cpan@semiotic.systems>

  • Adam Kennedy <adamk@cpan.org>

COPYRIGHT AND LICENSE

This software is copyright (c) 2010 by David Golden, Ricardo Signes, Adam Kennedy and Contributors.

This is free software; you can redistribute it and/or modify it under the same terms as the Perl 5 programming language system itself.