Description
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.
Problem types
CWE-680 Integer Overflow to Buffer Overflow
Product status
Any version
Timeline
| 2026-04-24: | Issue reported. |
| 2026-05-20: | Fix merged to blead. |
References
github.com/...5e7f119eb2bb1181be908701f22bf7068e722f1c.patch