Perl is vulnerable to a heap buffer overflow when transliterating non-ASCII bytes
Summary
Perl is vulnerable to a heap buffer overflow when transliterating non-ASCII bytes
Original description
The description as published by the source.
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.
Fix status by distribution
Fixed packages published by each distribution for this CVE
- Alpine Linux ALPINE-CVE-2024-56406 perl Fixed in: 5.36.2-r1
- BellSoft Alpaquita BELL-CVE-2024-56406 perl Fixed in: 5.36.2-r1
- Debian DEBIAN-CVE-2024-56406 perl Fixed in: 5.36.0-7+deb12u2
References
- advisory github.com
- advisory metacpan.org
- advisory metacpan.org
- advisory nvd.nist.gov
- patch github.com
- web openwall.com
- web openwall.com
- web openwall.com
- web cpan.org
- web github.com