CVE-2024-56406CWE-122CWE-787

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

High · published April 13, 2025

CVSS v3.1
8.4
EPSS
1%
Percentile
44.4
In the wild
Unconfirmed
What it is

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.

The record
Technical detail
CVSS v3.1
8.4 · HIGH
Vector
CVSS:3.1/AV:L/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H
CVSS v4.0
Not supplied
EPSS
0.00536 · 44.4th percentile
Weaknesses
CWE-122 · Heap-based Buffer Overflow; CWE-787 · Out-of-bounds Write
Published
2025-04-13T13:16Z
EPSS history
Timeline
  • 13 APR 13:16Z
    Perl is vulnerable to a heap buffer overflow when transliterating non-ASCII bytes
    cvelistv5