Description
A heap buffer overflow vulnerability was discovered in Perl. Release branches 5.34, 5.36, 5.38 and 5.40 are affected, including development versions from 5.33.1 through 5.41.10. When there are non-ASCII bytes in the left-hand-side of the `tr` operator, `S_do_trans_invmap` can overflow the destination pointer `d`. $ perl -e '$_ = "\x{FF}" x 1000000; tr/\xFF/\x{100}/;' Segmentation fault (core dumped) It is believed that this vulnerability can enable Denial of Service and possibly Code Execution attacks on platforms that lack sufficient defenses.
Affected products
Version statuses are supplied by the assigning organization. Consult the original record for detailed ranges and platform conditions.
perl perl
Default version status: unaffected
5.41.0 to ≤ 5.41.10affected5.39.0 to < 5.40.2-RC1affected5.33.1 to < 5.38.4-RC1affected
References
- https://github.com/Perl/perl5/commit/87f42aa0e0096e9a346c9672aa3a0bd3bef8c1dd.patch ↗
- https://metacpan.org/release/SHAY/perl-5.38.4/changes ↗
- https://metacpan.org/release/SHAY/perl-5.40.2/changes ↗
- http://www.openwall.com/lists/oss-security/2025/04/13/3 ↗
- http://www.openwall.com/lists/oss-security/2025/04/13/4 ↗
- http://www.openwall.com/lists/oss-security/2025/04/13/5 ↗