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.
Metrics
CVSS:3.1/AV:L/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:HWeakness enumeration
Affected software
| Vendor | Product | Versions |
|---|---|---|
| perl | perl | >= 5.41.0, <= 5.41.10; >= 5.39.0, < 5.40.2-RC1; >= 5.33.1, < 5.38.4-RC1 |
References
- https://github.com/Perl/perl5/commit/87f42aa0e0096e9a346c9672aa3a0bd3bef8c1dd.patchPatch
- https://metacpan.org/release/SHAY/perl-5.38.4/changesRelease Notes
- https://metacpan.org/release/SHAY/perl-5.40.2/changesRelease Notes
- http://www.openwall.com/lists/oss-security/2025/04/13/3Mailing List
- http://www.openwall.com/lists/oss-security/2025/04/13/4Mailing List
- http://www.openwall.com/lists/oss-security/2025/04/13/5Mailing List
Timeline
- Published
- Apr 13, 2025
- Last modified
- Jun 17, 2026
- NVD status
- Modified