Описание
Security update for perl
This update for perl fixes the following issues:
- CVE-2025-15649:
IO:Uncompress:Unzippropagates uncaught exception when parsing zip header with malformed DOS date (bsc#1266361). - CVE-2026-8376: heap buffer overflow when compiling regular expressions with a repeated fixed string on 32-bit builds (bsc#1266304).
- CVE-2026-12087:
Socket'spack_ip_mreq_source()can copy adjacent heap memory into the returned packed structure (bsc#1268349). - CVE-2026-57432: an integer overflow in
S_measure_structleads to an out-of-bounds heap read inpackandunpack(bsc#1271372). - CVE-2026-13221: regex trie branch-count overflow leads to silent false-positive/negative pattern matching (bsc#1271386).
Список пакетов
openSUSE Leap 16.0
Ссылки
- SUSE Security Ratings
- SUSE Bug 1266304
- SUSE Bug 1266361
- SUSE Bug 1268349
- SUSE Bug 1271372
- SUSE Bug 1271386
- SUSE CVE CVE-2025-15649 page
- SUSE CVE CVE-2026-12087 page
- SUSE CVE CVE-2026-13221 page
- SUSE CVE CVE-2026-57432 page
- SUSE CVE CVE-2026-8376 page
Описание
IO::Uncompress::Unzip versions before 2.215 for Perl propagate uncaught exception when parsing zip header with malformed DOS date. _dosToUnixTime() decodes the local-file-header last-modification date field and calls Time::Local::timelocal() without an eval guard. A header whose date field decodes to an out-of-range month, day, or hour causes timelocal() to die. The exception propagates out of IO::Uncompress::Unzip->new($file) where callers expect undef plus $UnzipError.
Затронутые продукты
Ссылки
- CVE-2025-15649
- SUSE Bug 1266361
Описание
Socket versions before 2.041 for Perl have an out-of-bounds heap read. In Socket.xs, pack_ip_mreq_source() checks the length of its source argument before the argument is read, so the check tests the byte length carried over from the preceding multiaddr argument instead. Both addresses occupy a 4-byte field, so a valid multiaddr lets a source of any length pass the check, and the source is then copied into the 4-byte imr_sourceaddr field with a fixed-size copy. A source shorter than 4 bytes is not rejected, and the copy reads up to 3 bytes past the end of its buffer. Calling pack_ip_mreq_source() with a source value shorter than 4 bytes copies adjacent heap memory into the returned packed structure.
Затронутые продукты
Ссылки
- CVE-2026-12087
- SUSE Bug 1268349
Описание
Perl versions through 5.43.9 produce silently incorrect regular expression matches when an alternation of more than 65535 fixed string branches is compiled into a trie in Perl_study_chunk. When such branches are combined into a trie, the delta between the first branch and the shared tail is stored in a 16-bit field. A branch count above 65535 overflows the field, and the trie's match decision table is truncated with no warning or error. A pattern of this shape produces false positive matches (matching strings it should not) and false negative matches (failing to match strings it should). When such a pattern gates an access or filtering decision, the result is wrong.
Затронутые продукты
Ссылки
- CVE-2026-13221
- SUSE Bug 1271386
Описание
Perl versions through 5.43.10 have an integer overflow in S_measure_struct leading to an out-of-bounds heap read in pack and unpack. S_measure_struct adds each item's size times its repeat count to a running total with no overflow check, so a large repeat count in a pack or unpack template wraps the signed SSize_t total negative. The @, X, and x position codes then guard their moves with a signed length comparison that passes when the length is negative, advancing the buffer pointer out of bounds. A template derived from untrusted input can read heap memory past the buffer and return it to the caller.
Затронутые продукты
Ссылки
- CVE-2026-57432
- SUSE Bug 1271372
Описание
Perl versions through 5.43.10 have a heap buffer overflow when compiling regular expressions with a repeated fixed string on 32-bit builds. Perl_study_chunk in regcomp_study.c checked the size of the joined substring buffer in characters rather than bytes. For a quantified fixed substring with a large minimum count, the byte length mincount * l could overflow SSize_t, producing an undersized SvGROW allocation; the subsequent copy writes past the end of the buffer. A caller that compiles an attacker-controlled regular expression on a 32-bit perl build triggers a heap buffer overflow at compile time.
Затронутые продукты
Ссылки
- CVE-2026-8376
- SUSE Bug 1266303