Skip to content
OpenAdvisories
High · 8.4 CVE-2024-56406 EUVD-2024-54400GHSA-p6jf-pv8c-623c

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

Published Apr 13, 2025 · Updated Oct 16, 2025 · Assigned by CPANSec

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

VendorProductAffectedFixed
perl perl 5.41.0 – ≤ 5.41.10, 5.39.0 – < 5.40.2-RC1, 5.33.1 – < 5.38.4-RC1 5.40.2-RC1

Fixed in Linux distributions

Distributions backport fixes, so the version that fixes this vulnerability differs per release — upgrade to at least the version shown. From the distributions' security trackers and advisories.

ReleasePackageFixed inAdvisory
Debian 14 perl 5.40.1-3 —
Debian 13 perl 5.40.1-3 —
Debian 12 perl 5.36.0-7+deb12u2 DSA-5902-1
ReleasePackageFixed inAdvisory
Ubuntu 25.04 perl 5.40.1-2ubuntu0.1 USN-7434-2
Ubuntu 24.04 LTS perl 5.38.2-3.2ubuntu0.1 USN-7434-1
Ubuntu 22.04 LTS perl 5.34.0-3ubuntu1.4 USN-7434-1
ReleasePackageFixed inAdvisory
RHEL 10 perl +5 4:5.40.2-512.1.el10_0 RHSA-2025:7500
RHEL 10 perl-AutoSplit +1 5.74-512.1.el10_0 RHSA-2025:7500
RHEL 10 perl-B 1.89-512.1.el10_0 RHSA-2025:7500
RHEL 10 perl-Benchmark +1 1.25-512.1.el10_0 RHSA-2025:7500
RHEL 10 perl-Class-Struct 0.68-512.1.el10_0 RHSA-2025:7500
RHEL 10 perl-DBM_Filter 0.06-512.1.el10_0 RHSA-2025:7500
RHEL 10 perl-Devel-Peek 1.34-512.1.el10_0 RHSA-2025:7500
RHEL 10 perl-Devel-SelfStubber 1.06-512.1.el10_0 RHSA-2025:7500
RHEL 10 perl-DynaLoader 1.56-512.1.el10_0 RHSA-2025:7500
RHEL 10 perl-English +1 1.11-512.1.el10_0 RHSA-2025:7500
RHEL 10 perl-Errno 1.38-512.1.el10_0 RHSA-2025:7500
RHEL 10 perl-ExtUtils-Constant 0.25-512.1.el10_0 RHSA-2025:7500
RHEL 10 perl-Fcntl +1 1.18-512.1.el10_0 RHSA-2025:7500
RHEL 10 perl-File-Basename 2.86-512.1.el10_0 RHSA-2025:7500
RHEL 10 perl-File-Compare 1.100.800-512.1.el10_0 RHSA-2025:7500
RHEL 10 perl-File-Copy 2.41-512.1.el10_0 RHSA-2025:7500
RHEL 10 perl-File-Find 1.44-512.1.el10_0 RHSA-2025:7500
RHEL 10 perl-File-stat +3 1.14-512.1.el10_0 RHSA-2025:7500
RHEL 10 perl-FindBin 1.54-512.1.el10_0 RHSA-2025:7500
RHEL 10 perl-GDBM_File 1:1.24-512.1.el10_0 RHSA-2025:7500
RHEL 10 perl-Hash-Util 0.32-512.1.el10_0 RHSA-2025:7500
RHEL 10 perl-I18N-LangTags 0.45-512.1.el10_0 RHSA-2025:7500
RHEL 10 perl-I18N-Langinfo 0.24-512.1.el10_0 RHSA-2025:7500
RHEL 10 perl-IO 1.55-512.1.el10_0 RHSA-2025:7500
RHEL 10 perl-IPC-Open3 1.22-512.1.el10_0 RHSA-2025:7500
RHEL 10 perl-Locale-Maketext-Simple 1:0.21-512.1.el10_0 RHSA-2025:7500
RHEL 10 perl-Math-Complex 1.62-512.1.el10_0 RHSA-2025:7500
RHEL 10 perl-Memoize 1.16-512.1.el10_0 RHSA-2025:7500
RHEL 10 perl-Module-Loaded 1:0.08-512.1.el10_0 RHSA-2025:7500
RHEL 10 perl-NDBM_File +1 1.17-512.1.el10_0 RHSA-2025:7500
RHEL 10 perl-NEXT 0.69-512.1.el10_0 RHSA-2025:7500
RHEL 10 perl-Net +3 1.04-512.1.el10_0 RHSA-2025:7500
RHEL 10 perl-Opcode 1.65-512.1.el10_0 RHSA-2025:7500
RHEL 10 perl-POSIX 2.20-512.1.el10_0 RHSA-2025:7500
RHEL 10 perl-Pod-Html +1 1.35-512.1.el10_0 RHSA-2025:7500
RHEL 10 perl-Safe 2.46-512.1.el10_0 RHSA-2025:7500
RHEL 10 perl-SelectSaver +2 1.02-512.1.el10_0 RHSA-2025:7500
RHEL 10 perl-SelfLoader +1 1.27-512.1.el10_0 RHSA-2025:7500
RHEL 10 perl-Symbol +1 1.09-512.1.el10_0 RHSA-2025:7500
RHEL 10 perl-Term-Complete 1.403-512.1.el10_0 RHSA-2025:7500
RHEL 10 perl-Test 1.31-512.1.el10_0 RHSA-2025:7500
RHEL 10 perl-Thread 3.05-512.1.el10_0 RHSA-2025:7500
RHEL 10 perl-Thread-Semaphore 2.13-512.1.el10_0 RHSA-2025:7500
RHEL 10 perl-Tie 4.6-512.1.el10_0 RHSA-2025:7500
RHEL 10 perl-Tie-Memoize 1.1-512.1.el10_0 RHSA-2025:7500
RHEL 10 perl-Time-Piece 1.3401-512.1.el10_0 RHSA-2025:7500
RHEL 10 perl-Unicode-UCD 0.78-512.1.el10_0 RHSA-2025:7500
RHEL 10 perl-base +2 2.27-512.1.el10_0 RHSA-2025:7500
RHEL 10 perl-blib +1 1.07-512.1.el10_0 RHSA-2025:7500
RHEL 10 perl-debugger 1.60-512.1.el10_0 RHSA-2025:7500
RHEL 10 perl-deprecate 0.04-512.1.el10_0 RHSA-2025:7500
RHEL 10 perl-diagnostics 1.40-512.1.el10_0 RHSA-2025:7500
RHEL 10 perl-encoding-warnings 0.14-512.1.el10_0 RHSA-2025:7500
RHEL 10 perl-filetest +1 1.03-512.1.el10_0 RHSA-2025:7500
RHEL 10 perl-if 0.61.000-512.1.el10_0 RHSA-2025:7500
RHEL 10 perl-less +1 0.03-512.1.el10_0 RHSA-2025:7500
RHEL 10 perl-lib 0.65-512.1.el10_0 RHSA-2025:7500
RHEL 10 perl-locale +1 1.12-512.1.el10_0 RHSA-2025:7500
RHEL 10 perl-mro 1.29-512.1.el10_0 RHSA-2025:7500
RHEL 10 perl-open 1.13-512.1.el10_0 RHSA-2025:7500
RHEL 10 perl-overload 1.37-512.1.el10_0 RHSA-2025:7500
RHEL 10 perl-overloading 0.02-512.1.el10_0 RHSA-2025:7500
RHEL 10 perl-ph +3 5.40.2-512.1.el10_0 RHSA-2025:7500
RHEL 10 perl-sigtrap +1 1.10-512.1.el10_0 RHSA-2025:7500
RHEL 10 perl-sort +1 2.05-512.1.el10_0 RHSA-2025:7500
RHEL 10 perl-vars +2 1.05-512.1.el10_0 RHSA-2025:7500

AlmaLinux

Errata ↗
ReleasePackageFixed inAdvisory
AlmaLinux 10 perl +5 4:5.40.2-512.1.el10_0 ALSA-2025:7500
AlmaLinux 10 perl-AutoSplit +1 5.74-512.1.el10_0 ALSA-2025:7500
AlmaLinux 10 perl-B 1.89-512.1.el10_0 ALSA-2025:7500
AlmaLinux 10 perl-Benchmark +1 1.25-512.1.el10_0 ALSA-2025:7500
AlmaLinux 10 perl-Class-Struct 0.68-512.1.el10_0 ALSA-2025:7500
AlmaLinux 10 perl-DBM_Filter 0.06-512.1.el10_0 ALSA-2025:7500
AlmaLinux 10 perl-Devel-Peek 1.34-512.1.el10_0 ALSA-2025:7500
AlmaLinux 10 perl-Devel-SelfStubber 1.06-512.1.el10_0 ALSA-2025:7500
AlmaLinux 10 perl-DynaLoader 1.56-512.1.el10_0 ALSA-2025:7500
AlmaLinux 10 perl-English +1 1.11-512.1.el10_0 ALSA-2025:7500
AlmaLinux 10 perl-Errno 1.38-512.1.el10_0 ALSA-2025:7500
AlmaLinux 10 perl-ExtUtils-Constant 0.25-512.1.el10_0 ALSA-2025:7500
AlmaLinux 10 perl-Fcntl +1 1.18-512.1.el10_0 ALSA-2025:7500
AlmaLinux 10 perl-File-Basename 2.86-512.1.el10_0 ALSA-2025:7500
AlmaLinux 10 perl-File-Compare 1.100.800-512.1.el10_0 ALSA-2025:7500
AlmaLinux 10 perl-File-Copy 2.41-512.1.el10_0 ALSA-2025:7500
AlmaLinux 10 perl-File-Find 1.44-512.1.el10_0 ALSA-2025:7500
AlmaLinux 10 perl-File-stat +3 1.14-512.1.el10_0 ALSA-2025:7500
AlmaLinux 10 perl-FindBin 1.54-512.1.el10_0 ALSA-2025:7500
AlmaLinux 10 perl-GDBM_File 1:1.24-512.1.el10_0 ALSA-2025:7500
AlmaLinux 10 perl-Hash-Util 0.32-512.1.el10_0 ALSA-2025:7500
AlmaLinux 10 perl-I18N-LangTags 0.45-512.1.el10_0 ALSA-2025:7500
AlmaLinux 10 perl-I18N-Langinfo 0.24-512.1.el10_0 ALSA-2025:7500
AlmaLinux 10 perl-IO 1.55-512.1.el10_0 ALSA-2025:7500
AlmaLinux 10 perl-IPC-Open3 1.22-512.1.el10_0 ALSA-2025:7500
AlmaLinux 10 perl-Locale-Maketext-Simple 1:0.21-512.1.el10_0 ALSA-2025:7500
AlmaLinux 10 perl-Math-Complex 1.62-512.1.el10_0 ALSA-2025:7500
AlmaLinux 10 perl-Memoize 1.16-512.1.el10_0 ALSA-2025:7500
AlmaLinux 10 perl-Module-Loaded 1:0.08-512.1.el10_0 ALSA-2025:7500
AlmaLinux 10 perl-NDBM_File +1 1.17-512.1.el10_0 ALSA-2025:7500
AlmaLinux 10 perl-NEXT 0.69-512.1.el10_0 ALSA-2025:7500
AlmaLinux 10 perl-Net +3 1.04-512.1.el10_0 ALSA-2025:7500
AlmaLinux 10 perl-Opcode 1.65-512.1.el10_0 ALSA-2025:7500
AlmaLinux 10 perl-POSIX 2.20-512.1.el10_0 ALSA-2025:7500
AlmaLinux 10 perl-Pod-Html +1 1.35-512.1.el10_0 ALSA-2025:7500
AlmaLinux 10 perl-Safe 2.46-512.1.el10_0 ALSA-2025:7500
AlmaLinux 10 perl-SelectSaver +2 1.02-512.1.el10_0 ALSA-2025:7500
AlmaLinux 10 perl-SelfLoader +1 1.27-512.1.el10_0 ALSA-2025:7500
AlmaLinux 10 perl-Symbol +1 1.09-512.1.el10_0 ALSA-2025:7500
AlmaLinux 10 perl-Term-Complete 1.403-512.1.el10_0 ALSA-2025:7500
AlmaLinux 10 perl-Test 1.31-512.1.el10_0 ALSA-2025:7500
AlmaLinux 10 perl-Thread 3.05-512.1.el10_0 ALSA-2025:7500
AlmaLinux 10 perl-Thread-Semaphore 2.13-512.1.el10_0 ALSA-2025:7500
AlmaLinux 10 perl-Tie 4.6-512.1.el10_0 ALSA-2025:7500
AlmaLinux 10 perl-Tie-Memoize 1.1-512.1.el10_0 ALSA-2025:7500
AlmaLinux 10 perl-Time-Piece 1.3401-512.1.el10_0 ALSA-2025:7500
AlmaLinux 10 perl-Unicode-UCD 0.78-512.1.el10_0 ALSA-2025:7500
AlmaLinux 10 perl-base +2 2.27-512.1.el10_0 ALSA-2025:7500
AlmaLinux 10 perl-blib +1 1.07-512.1.el10_0 ALSA-2025:7500
AlmaLinux 10 perl-debugger 1.60-512.1.el10_0 ALSA-2025:7500
AlmaLinux 10 perl-deprecate 0.04-512.1.el10_0 ALSA-2025:7500
AlmaLinux 10 perl-diagnostics 1.40-512.1.el10_0 ALSA-2025:7500
AlmaLinux 10 perl-encoding-warnings 0.14-512.1.el10_0 ALSA-2025:7500
AlmaLinux 10 perl-filetest +1 1.03-512.1.el10_0 ALSA-2025:7500
AlmaLinux 10 perl-if 0.61.000-512.1.el10_0 ALSA-2025:7500
AlmaLinux 10 perl-less +1 0.03-512.1.el10_0 ALSA-2025:7500
AlmaLinux 10 perl-lib 0.65-512.1.el10_0 ALSA-2025:7500
AlmaLinux 10 perl-locale +1 1.12-512.1.el10_0 ALSA-2025:7500
AlmaLinux 10 perl-mro 1.29-512.1.el10_0 ALSA-2025:7500
AlmaLinux 10 perl-open 1.13-512.1.el10_0 ALSA-2025:7500
AlmaLinux 10 perl-overload 1.37-512.1.el10_0 ALSA-2025:7500
AlmaLinux 10 perl-overloading 0.02-512.1.el10_0 ALSA-2025:7500
AlmaLinux 10 perl-ph +3 5.40.2-512.1.el10_0 ALSA-2025:7500
AlmaLinux 10 perl-sigtrap +1 1.10-512.1.el10_0 ALSA-2025:7500
AlmaLinux 10 perl-sort +1 2.05-512.1.el10_0 ALSA-2025:7500
AlmaLinux 10 perl-vars +2 1.05-512.1.el10_0 ALSA-2025:7500

Rocky Linux

Errata ↗
ReleasePackageFixed inAdvisory
Rocky Linux 10 perl 4:5.40.2-512.1.el10_0 RLSA-2025:7500
ReleasePackageFixed inAdvisory
SLE Micro 6.1 perl 5.38.2-slfo.1.1_2.1 SUSE-SU-2025:20532-1
SLE Micro 6.0 perl 5.38.2-2.1 SUSE-SU-2025:20334-1
ReleasePackageFixed inAdvisory
openSUSE Tumbleweed perl 5.40.2-1.1 openSUSE-SU-2025:15003-1
ReleasePackageFixed inAdvisory
Alpine v3.24 perl 5.40.1-r1 —
Alpine v3.23 perl 5.40.1-r1 —
Alpine v3.22 perl 5.40.1-r1 —
Alpine v3.21 perl 5.40.1-r1 —
Alpine v3.20 perl 5.38.3-r1 —
Show 2 more (older releases, extended support, other products)
ReleasePackageFixed inAdvisory
Alpine v3.19 perl 5.38.3-r1 —
Alpine v3.18 perl 5.36.2-r1 —

Azure Linux

ReleasePackageFixed inAdvisory
Azure Linux 3 perl 5.38.2-507 —
Azure Linux 2 (CBL-Mariner) perl 5.34.1-490 —

Oracle Linux

ReleasePackageFixed inAdvisory
Oracle Linux 10 perl +5 4:5.40.2-512.1.el10_0 ELSA-2025-7500
Oracle Linux 10 perl-AutoSplit +1 5.74-512.1.el10_0 ELSA-2025-7500
Oracle Linux 10 perl-B 1.89-512.1.el10_0 ELSA-2025-7500
Oracle Linux 10 perl-Benchmark +1 1.25-512.1.el10_0 ELSA-2025-7500
Oracle Linux 10 perl-Class-Struct 0.68-512.1.el10_0 ELSA-2025-7500
Oracle Linux 10 perl-DBM_Filter 0.06-512.1.el10_0 ELSA-2025-7500
Oracle Linux 10 perl-Devel-Peek 1.34-512.1.el10_0 ELSA-2025-7500
Oracle Linux 10 perl-Devel-SelfStubber 1.06-512.1.el10_0 ELSA-2025-7500
Oracle Linux 10 perl-DynaLoader 1.56-512.1.el10_0 ELSA-2025-7500
Oracle Linux 10 perl-English +1 1.11-512.1.el10_0 ELSA-2025-7500
Oracle Linux 10 perl-Errno 1.38-512.1.el10_0 ELSA-2025-7500
Oracle Linux 10 perl-ExtUtils-Constant 0.25-512.1.el10_0 ELSA-2025-7500
Oracle Linux 10 perl-Fcntl +1 1.18-512.1.el10_0 ELSA-2025-7500
Oracle Linux 10 perl-File-Basename 2.86-512.1.el10_0 ELSA-2025-7500
Oracle Linux 10 perl-File-Compare 1.100.800-512.1.el10_0 ELSA-2025-7500
Oracle Linux 10 perl-File-Copy 2.41-512.1.el10_0 ELSA-2025-7500
Oracle Linux 10 perl-File-Find 1.44-512.1.el10_0 ELSA-2025-7500
Oracle Linux 10 perl-File-stat +3 1.14-512.1.el10_0 ELSA-2025-7500
Oracle Linux 10 perl-FindBin 1.54-512.1.el10_0 ELSA-2025-7500
Oracle Linux 10 perl-GDBM_File 1:1.24-512.1.el10_0 ELSA-2025-7500
Oracle Linux 10 perl-Hash-Util 0.32-512.1.el10_0 ELSA-2025-7500
Oracle Linux 10 perl-I18N-LangTags 0.45-512.1.el10_0 ELSA-2025-7500
Oracle Linux 10 perl-I18N-Langinfo 0.24-512.1.el10_0 ELSA-2025-7500
Oracle Linux 10 perl-IO 1.55-512.1.el10_0 ELSA-2025-7500
Oracle Linux 10 perl-IPC-Open3 1.22-512.1.el10_0 ELSA-2025-7500
Oracle Linux 10 perl-Locale-Maketext-Simple 1:0.21-512.1.el10_0 ELSA-2025-7500
Oracle Linux 10 perl-Math-Complex 1.62-512.1.el10_0 ELSA-2025-7500
Oracle Linux 10 perl-Memoize 1.16-512.1.el10_0 ELSA-2025-7500
Oracle Linux 10 perl-Module-Loaded 1:0.08-512.1.el10_0 ELSA-2025-7500
Oracle Linux 10 perl-NDBM_File +1 1.17-512.1.el10_0 ELSA-2025-7500
Oracle Linux 10 perl-NEXT 0.69-512.1.el10_0 ELSA-2025-7500
Oracle Linux 10 perl-Net +3 1.04-512.1.el10_0 ELSA-2025-7500
Oracle Linux 10 perl-Opcode 1.65-512.1.el10_0 ELSA-2025-7500
Oracle Linux 10 perl-POSIX 2.20-512.1.el10_0 ELSA-2025-7500
Oracle Linux 10 perl-Pod-Html +1 1.35-512.1.el10_0 ELSA-2025-7500
Oracle Linux 10 perl-Safe 2.46-512.1.el10_0 ELSA-2025-7500
Oracle Linux 10 perl-SelectSaver +2 1.02-512.1.el10_0 ELSA-2025-7500
Oracle Linux 10 perl-SelfLoader +1 1.27-512.1.el10_0 ELSA-2025-7500
Oracle Linux 10 perl-Symbol +1 1.09-512.1.el10_0 ELSA-2025-7500
Oracle Linux 10 perl-Term-Complete 1.403-512.1.el10_0 ELSA-2025-7500
Oracle Linux 10 perl-Test 1.31-512.1.el10_0 ELSA-2025-7500
Oracle Linux 10 perl-Thread 3.05-512.1.el10_0 ELSA-2025-7500
Oracle Linux 10 perl-Thread-Semaphore 2.13-512.1.el10_0 ELSA-2025-7500
Oracle Linux 10 perl-Tie 4.6-512.1.el10_0 ELSA-2025-7500
Oracle Linux 10 perl-Tie-Memoize 1.1-512.1.el10_0 ELSA-2025-7500
Oracle Linux 10 perl-Time-Piece 1.3401-512.1.el10_0 ELSA-2025-7500
Oracle Linux 10 perl-Unicode-UCD 0.78-512.1.el10_0 ELSA-2025-7500
Oracle Linux 10 perl-base +2 2.27-512.1.el10_0 ELSA-2025-7500
Oracle Linux 10 perl-blib +1 1.07-512.1.el10_0 ELSA-2025-7500
Oracle Linux 10 perl-debugger 1.60-512.1.el10_0 ELSA-2025-7500
Oracle Linux 10 perl-deprecate 0.04-512.1.el10_0 ELSA-2025-7500
Oracle Linux 10 perl-diagnostics 1.40-512.1.el10_0 ELSA-2025-7500
Oracle Linux 10 perl-encoding-warnings 0.14-512.1.el10_0 ELSA-2025-7500
Oracle Linux 10 perl-filetest +1 1.03-512.1.el10_0 ELSA-2025-7500
Oracle Linux 10 perl-if 0.61.000-512.1.el10_0 ELSA-2025-7500
Oracle Linux 10 perl-less +1 0.03-512.1.el10_0 ELSA-2025-7500
Oracle Linux 10 perl-lib 0.65-512.1.el10_0 ELSA-2025-7500
Oracle Linux 10 perl-locale +1 1.12-512.1.el10_0 ELSA-2025-7500
Oracle Linux 10 perl-mro 1.29-512.1.el10_0 ELSA-2025-7500
Oracle Linux 10 perl-open 1.13-512.1.el10_0 ELSA-2025-7500
Oracle Linux 10 perl-overload 1.37-512.1.el10_0 ELSA-2025-7500
Oracle Linux 10 perl-overloading 0.02-512.1.el10_0 ELSA-2025-7500
Oracle Linux 10 perl-ph +3 5.40.2-512.1.el10_0 ELSA-2025-7500
Oracle Linux 10 perl-sigtrap +1 1.10-512.1.el10_0 ELSA-2025-7500
Oracle Linux 10 perl-sort +1 2.05-512.1.el10_0 ELSA-2025-7500
Oracle Linux 10 perl-vars +2 1.05-512.1.el10_0 ELSA-2025-7500

Advisories 19

References