High severity · published Apr 13, 2025
CVE-2024-56406
A heap buffer overflow vulnerability was discovered in Perl
8.4
CVSS
0.5%
EPSS
No
On KEV
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.
CVSS vector
CVSS:3.1/AV:L/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H
Attack vector
Local
Complexity
Low
Privileges
None
User interaction
None
Confidentiality
High
Integrity
High
Availability
High
Scope
Unchanged
Exploitation
Is it being used?
Exploit prediction (EPSS)0.5% · higher than 45% of CVEs
Exploited in the wildNo evidence yet
CISA KEVNot listed
Ransomware campaign useNot known
Affected products
Which versions
PE
Perl · Perl
5.33.1 before 5.38.4; 5.39.0 before 5.40.2; 5.41.0 through 5.41.10 · source: NVD
References
NVD
https://nvd.nist.gov/vuln/detail/CVE-2024-56406
CVE.org
https://www.cve.org/CVERecord?id=CVE-2024-56406
Patch
https://github.com/Perl/perl5/commit/87f42aa0e0096e9a346c9672aa3a0bd3bef8c1dd.patch
Release Notes
https://metacpan.org/release/SHAY/perl-5.38.4/changes
Release Notes
https://metacpan.org/release/SHAY/perl-5.40.2/changes
Mailing List
http://www.openwall.com/lists/oss-security/2025/04/13/3
Mailing List
http://www.openwall.com/lists/oss-security/2025/04/13/4
Mailing List
http://www.openwall.com/lists/oss-security/2025/04/13/5
More from Perl
9.8
CVE-2026-8376
Perl versions before 5.40.5-RC1, from 5.41.0 before 5.42.3-RC1, from 5.43.0 before 5.43.11 have a heap buffer overflow when compiling regular expressions with a repeated fixed string on 32-bit builds
9.8
CVE-2026-4176
Perl versions from 5.9.4 before 5.40.4-RC1, from 5.41.0 before 5.42.2-RC1, from 5.43.0 before 5.43.9 contain a vulnerable version of Compress::Raw::Zlib
9.8
CVE-2022-48522
In Perl 5.34.0, function S_find_uninit_var in sv.c has a stack-based crash that can lead to remote code execution or local privilege escalation
9.8
CVE-2018-18314
Perl before 5.26.3 has a buffer overflow via a crafted regular expression that triggers invalid write operations
9.8
CVE-2018-18311
Perl before 5.26.3 and 5.28.x before 5.28.1 has a buffer overflow via a crafted regular expression that triggers invalid write operations
