Security Advisories (1)
CVE-2026-8376 (2026-05-25)

Perl versions through 5.43.10 have a heap buffer overflow when compiling regular expressions with a repeated fixed string on 32-bit builds. Perl_study_chunk in regcomp_study.c checked the size of the joined substring buffer in characters rather than bytes. For a quantified fixed substring with a large minimum count, the byte length mincount * l could overflow SSize_t, producing an undersized SvGROW allocation; the subsequent copy writes past the end of the buffer. A caller that compiles an attacker-controlled regular expression on a 32-bit perl build triggers a heap buffer overflow at compile time.

USAGE

# generate the module changes for the Perl you are currently building
./perl -Ilib Porting/corelist-perldelta.pl

# update the module changes for the Perl you are currently building
./perl -Ilib Porting/corelist-perldelta.pl --mode=update pod/perldelta.pod

# generate a diff between the corelist sections of two perldelta* files:
perl Porting/corelist-perldelta.pl --mode=check 5.017001 5.017002 <perl5172delta.pod

ABOUT

corelist-perldelta.pl is a bit schizophrenic. The part to generate the new Perldelta text does not need Algorithm::Diff, but wants to be run with the freshly built Perl.

The part to check the diff wants to be run with a Perl that has an up-to-date Module::CoreList, but needs the outside Algorithm::Diff.

Ideally, the program will be split into two separate programs, one to generate the text and one to show the diff between the corelist sections of the last perldelta and the next perldelta.

Currently no information about Removed Modules is displayed in any of the modes.