Vulnerability · Published Apr 13, 2025 · Assigned by CPANSec

CVE-2024-56406Perl is vulnerable to a heap buffer overflow when transliterating non-ASCII bytes

High 8.4

In plain English

A high-severity heap buffer overflow in perl from perl. There are no confirmed reports of exploitation so far. The chance it is exploited in the next 30 days is estimated at 0.5% (higher than 45% of all known vulnerabilities). Fixed versions are available - upgrade the affected package.

Severity (CVSS 3.1)8.4High
Exploit odds (30 days)0.5%top 54.6% of all CVEs
Exploited in the wildNo reportsCISA SSVC: none
Attack toolingNoneno public tooling known

Official 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 packages & fixed versions

EcosystemPackageFixed inAdvisory
AlmaLinux:10perl4:5.40.2-512.1.el10_0ALSA-2025:7500
AlmaLinux:10perl-Attribute-Handlers1.03-512.1.el10_0ALSA-2025:7500
AlmaLinux:10perl-AutoLoader5.74-512.1.el10_0ALSA-2025:7500
AlmaLinux:10perl-AutoSplit5.74-512.1.el10_0ALSA-2025:7500
AlmaLinux:10perl-B1.89-512.1.el10_0ALSA-2025:7500
AlmaLinux:10perl-Benchmark1.25-512.1.el10_0ALSA-2025:7500
AlmaLinux:10perl-Class-Struct0.68-512.1.el10_0ALSA-2025:7500
AlmaLinux:10perl-Config-Extensions0.03-512.1.el10_0ALSA-2025:7500
AlmaLinux:10perl-DBM_Filter0.06-512.1.el10_0ALSA-2025:7500
AlmaLinux:10perl-Devel-Peek1.34-512.1.el10_0ALSA-2025:7500
AlmaLinux:10perl-Devel-SelfStubber1.06-512.1.el10_0ALSA-2025:7500
AlmaLinux:10perl-DirHandle1.05-512.1.el10_0ALSA-2025:7500
AlmaLinux:10perl-Dumpvalue2.27-512.1.el10_0ALSA-2025:7500
AlmaLinux:10perl-DynaLoader1.56-512.1.el10_0ALSA-2025:7500
AlmaLinux:10perl-English1.11-512.1.el10_0ALSA-2025:7500
AlmaLinux:10perl-Errno1.38-512.1.el10_0ALSA-2025:7500
AlmaLinux:10perl-ExtUtils-Constant0.25-512.1.el10_0ALSA-2025:7500
AlmaLinux:10perl-ExtUtils-Embed1.35-512.1.el10_0ALSA-2025:7500
AlmaLinux:10perl-ExtUtils-Miniperl1.14-512.1.el10_0ALSA-2025:7500
AlmaLinux:10perl-Fcntl1.18-512.1.el10_0ALSA-2025:7500
AlmaLinux:10perl-File-Basename2.86-512.1.el10_0ALSA-2025:7500
AlmaLinux:10perl-File-Compare1.100.800-512.1.el10_0ALSA-2025:7500
AlmaLinux:10perl-File-Copy2.41-512.1.el10_0ALSA-2025:7500
AlmaLinux:10perl-File-DosGlob1.12-512.1.el10_0ALSA-2025:7500
AlmaLinux:10perl-File-Find1.44-512.1.el10_0ALSA-2025:7500
AlmaLinux:10perl-File-stat1.14-512.1.el10_0ALSA-2025:7500
AlmaLinux:10perl-FileCache1.10-512.1.el10_0ALSA-2025:7500
AlmaLinux:10perl-FileHandle2.05-512.1.el10_0ALSA-2025:7500
AlmaLinux:10perl-FindBin1.54-512.1.el10_0ALSA-2025:7500
AlmaLinux:10perl-GDBM_File1:1.24-512.1.el10_0ALSA-2025:7500
AlmaLinux:10perl-Getopt-Std1.14-512.1.el10_0ALSA-2025:7500
AlmaLinux:10perl-Hash-Util0.32-512.1.el10_0ALSA-2025:7500
AlmaLinux:10perl-Hash-Util-FieldHash1.27-512.1.el10_0ALSA-2025:7500
AlmaLinux:10perl-I18N-Collate1.02-512.1.el10_0ALSA-2025:7500
AlmaLinux:10perl-I18N-LangTags0.45-512.1.el10_0ALSA-2025:7500
AlmaLinux:10perl-I18N-Langinfo0.24-512.1.el10_0ALSA-2025:7500
AlmaLinux:10perl-IO1.55-512.1.el10_0ALSA-2025:7500
AlmaLinux:10perl-IPC-Open31.22-512.1.el10_0ALSA-2025:7500
AlmaLinux:10perl-Locale-Maketext-Simple1:0.21-512.1.el10_0ALSA-2025:7500
AlmaLinux:10perl-Math-Complex1.62-512.1.el10_0ALSA-2025:7500
AlmaLinux:10perl-Memoize1.16-512.1.el10_0ALSA-2025:7500
AlmaLinux:10perl-Module-Loaded1:0.08-512.1.el10_0ALSA-2025:7500
AlmaLinux:10perl-NDBM_File1.17-512.1.el10_0ALSA-2025:7500
AlmaLinux:10perl-NEXT0.69-512.1.el10_0ALSA-2025:7500
AlmaLinux:10perl-Net1.04-512.1.el10_0ALSA-2025:7500
AlmaLinux:10perl-ODBM_File1.18-512.1.el10_0ALSA-2025:7500
AlmaLinux:10perl-Opcode1.65-512.1.el10_0ALSA-2025:7500
AlmaLinux:10perl-POSIX2.20-512.1.el10_0ALSA-2025:7500
AlmaLinux:10perl-Pod-Functions1.14-512.1.el10_0ALSA-2025:7500
AlmaLinux:10perl-Pod-Html1.35-512.1.el10_0ALSA-2025:7500
AlmaLinux:10perl-Safe2.46-512.1.el10_0ALSA-2025:7500
AlmaLinux:10perl-Search-Dict1.07-512.1.el10_0ALSA-2025:7500
AlmaLinux:10perl-SelectSaver1.02-512.1.el10_0ALSA-2025:7500
AlmaLinux:10perl-SelfLoader1.27-512.1.el10_0ALSA-2025:7500
AlmaLinux:10perl-Symbol1.09-512.1.el10_0ALSA-2025:7500
AlmaLinux:10perl-Sys-Hostname1.25-512.1.el10_0ALSA-2025:7500
AlmaLinux:10perl-Term-Complete1.403-512.1.el10_0ALSA-2025:7500
AlmaLinux:10perl-Term-ReadLine1.17-512.1.el10_0ALSA-2025:7500
AlmaLinux:10perl-Test1.31-512.1.el10_0ALSA-2025:7500
AlmaLinux:10perl-Text-Abbrev1.02-512.1.el10_0ALSA-2025:7500
AlmaLinux:10perl-Thread3.05-512.1.el10_0ALSA-2025:7500
AlmaLinux:10perl-Thread-Semaphore2.13-512.1.el10_0ALSA-2025:7500
AlmaLinux:10perl-Tie4.6-512.1.el10_0ALSA-2025:7500
AlmaLinux:10perl-Tie-File1.09-512.1.el10_0ALSA-2025:7500
AlmaLinux:10perl-Tie-Memoize1.1-512.1.el10_0ALSA-2025:7500
AlmaLinux:10perl-Time1.04-512.1.el10_0ALSA-2025:7500
AlmaLinux:10perl-Time-Piece1.3401-512.1.el10_0ALSA-2025:7500
AlmaLinux:10perl-Unicode-UCD0.78-512.1.el10_0ALSA-2025:7500
AlmaLinux:10perl-User-pwent1.05-512.1.el10_0ALSA-2025:7500
AlmaLinux:10perl-autouse1.11-512.1.el10_0ALSA-2025:7500
AlmaLinux:10perl-base2.27-512.1.el10_0ALSA-2025:7500
AlmaLinux:10perl-blib1.07-512.1.el10_0ALSA-2025:7500
AlmaLinux:10perl-debugger1.60-512.1.el10_0ALSA-2025:7500
AlmaLinux:10perl-deprecate0.04-512.1.el10_0ALSA-2025:7500
AlmaLinux:10perl-devel4:5.40.2-512.1.el10_0ALSA-2025:7500
AlmaLinux:10perl-diagnostics1.40-512.1.el10_0ALSA-2025:7500
AlmaLinux:10perl-doc5.40.2-512.1.el10_0ALSA-2025:7500
AlmaLinux:10perl-encoding-warnings0.14-512.1.el10_0ALSA-2025:7500
AlmaLinux:10perl-fields2.27-512.1.el10_0ALSA-2025:7500
AlmaLinux:10perl-filetest1.03-512.1.el10_0ALSA-2025:7500
AlmaLinux:10perl-if0.61.000-512.1.el10_0ALSA-2025:7500
AlmaLinux:10perl-interpreter4:5.40.2-512.1.el10_0ALSA-2025:7500
AlmaLinux:10perl-less0.03-512.1.el10_0ALSA-2025:7500
AlmaLinux:10perl-lib0.65-512.1.el10_0ALSA-2025:7500
AlmaLinux:10perl-libnetcfg4:5.40.2-512.1.el10_0ALSA-2025:7500
AlmaLinux:10perl-libs4:5.40.2-512.1.el10_0ALSA-2025:7500
AlmaLinux:10perl-locale1.12-512.1.el10_0ALSA-2025:7500
AlmaLinux:10perl-macros4:5.40.2-512.1.el10_0ALSA-2025:7500
AlmaLinux:10perl-meta-notation5.40.2-512.1.el10_0ALSA-2025:7500
AlmaLinux:10perl-mro1.29-512.1.el10_0ALSA-2025:7500
AlmaLinux:10perl-open1.13-512.1.el10_0ALSA-2025:7500
AlmaLinux:10perl-overload1.37-512.1.el10_0ALSA-2025:7500
AlmaLinux:10perl-overloading0.02-512.1.el10_0ALSA-2025:7500
AlmaLinux:10perl-ph5.40.2-512.1.el10_0ALSA-2025:7500
AlmaLinux:10perl-sigtrap1.10-512.1.el10_0ALSA-2025:7500
AlmaLinux:10perl-sort2.05-512.1.el10_0ALSA-2025:7500
AlmaLinux:10perl-subs1.04-512.1.el10_0ALSA-2025:7500
AlmaLinux:10perl-utils5.40.2-512.1.el10_0ALSA-2025:7500
AlmaLinux:10perl-vars1.05-512.1.el10_0ALSA-2025:7500
AlmaLinux:10perl-vmsish1.04-512.1.el10_0ALSA-2025:7500
Alpine:v3.20perl5.38.3-r1ALPINE-CVE-2024-56406
Alpine:v3.21perl5.40.1-r1ALPINE-CVE-2024-56406
Alpine:v3.22perl5.40.1-r1ALPINE-CVE-2024-56406
Alpine:v3.23perl5.40.1-r1ALPINE-CVE-2024-56406
Alpine:v3.24perl5.40.1-r1ALPINE-CVE-2024-56406
Debian:12perl5.36.0-7+deb12u2DEBIAN-CVE-2024-56406
Debian:12perl5.36.0-7+deb12u2DSA-5902-1
Debian:13perl5.40.1-3DEBIAN-CVE-2024-56406
Debian:14perl5.40.1-3DEBIAN-CVE-2024-56406
Rocky Linux:10perl4:5.40.2-512.1.el10_0RLSA-2025:7500
Ubuntu:22.04:LTSperl5.34.0-3ubuntu1.4USN-7434-1
Ubuntu:22.04:LTSperl5.34.0-3ubuntu1.4UBUNTU-CVE-2024-56406
Ubuntu:24.04:LTSperl5.38.2-3.2ubuntu0.1USN-7434-1
Ubuntu:24.04:LTSperl5.38.2-3.2ubuntu0.1UBUNTU-CVE-2024-56406

Affected products (as reported)

VendorProductVersions
perl perl 5.41.0 – through 5.41.105.39.0 – before 5.40.2-RC15.33.1 – before 5.38.4-RC1

Weakness: CWE-122, CWE-787 · Vector: CVSS:3.1/AV:L/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H

References