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.
Mitigation
Minimal update. May introduce new vulnerabilities or breaking changes.
|
 debian 11 | | =5.32.1-4 || =5.32.1-4+deb11u1 || =5.32.1-4+deb11u2 || =5.32.1-4+deb11u3 || =5.32.1-4+deb11u4 || =5.32.1-4+deb11u5 || =5.32.1-5 || =5.32.1-6 || =5.34.0-1 || =5.34.0-2 || =5.34.0-3 || =5.34.0-4 || =5.34.0-5 || =5.34.0~rc2-1 || =5.36.0-1 || =5.36.0-10 || =5.36.0-2 || =5.36.0-3 || =5.36.0-4 || =5.36.0-5 || =5.36.0-6 || =5.36.0-7 || =5.36.0-8 || =5.36.0-9 || =5.38.0-1 || =5.38.0-2 || =5.38.0~rc2-1 || =5.38.2-1 || =5.38.2-2 || =5.38.2-3 || =5.38.2-3.1 || =5.38.2-3.2 || =5.38.2-3.2+hurd.1 || =5.38.2-4 || =5.38.2-5 || =5.40.0-1 || =5.40.0-2 || =5.40.0-3 || =5.40.0-4 || =5.40.0-5 || =5.40.0-6 || =5.40.0-7 || =5.40.0-8 || =5.40.0~rc1-1 || =5.40.1-1 || =5.40.1-2 || =5.40.1-3 || =5.40.1-4 || =5.40.1-5 || =5.40.1-6 || =5.40.1-7 || =5.42.0-1 || =5.42.0-2 || =5.42.0-3 || =5.42.2-1 |
 debian 12 | | =5.36.0-10 || =5.36.0-7 || =5.36.0-7+deb12u1 || =5.36.0-7+deb12u2 || =5.36.0-7+deb12u3 || =5.36.0-8 || =5.36.0-9 || =5.38.0-1 || =5.38.0-2 || =5.38.0~rc2-1 || =5.38.2-1 || =5.38.2-2 || =5.38.2-3 || =5.38.2-3.1 || =5.38.2-3.2 || =5.38.2-3.2+hurd.1 || =5.38.2-4 || =5.38.2-5 || =5.40.0-1 || =5.40.0-2 || =5.40.0-3 || =5.40.0-4 || =5.40.0-5 || =5.40.0-6 || =5.40.0-7 || =5.40.0-8 || =5.40.0~rc1-1 || =5.40.1-1 || =5.40.1-2 || =5.40.1-3 || =5.40.1-4 || =5.40.1-5 || =5.40.1-6 || =5.40.1-7 || =5.42.0-1 || =5.42.0-2 || =5.42.0-3 || =5.42.2-1 |
 debian 14 | | =5.40.1-6 || =5.40.1-7 || =5.42.0-1 || =5.42.0-2 || =5.42.0-3 || =5.42.2-1 |
 debian 13 | | =5.40.1-6 || =5.40.1-7 || =5.42.0-1 || =5.42.0-2 || =5.42.0-3 || =5.42.2-1 |