Логотип exploitDog
Консоль
Логотип exploitDog

exploitDog

suse-cvrf логотип

openSUSE-SU-2026:21411-1

Опубликовано: 22 июл. 2026
Источник: suse-cvrf

Описание

Security update for perl

This update for perl fixes the following issues:

  • CVE-2025-15649: IO:Uncompress:Unzip propagates 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's pack_ip_mreq_source() can copy adjacent heap memory into the returned packed structure (bsc#1268349).
  • CVE-2026-57432: an integer overflow in S_measure_struct leads to an out-of-bounds heap read in pack and unpack (bsc#1271372).
  • CVE-2026-13221: regex trie branch-count overflow leads to silent false-positive/negative pattern matching (bsc#1271386).

Список пакетов

openSUSE Leap 16.0
perl-5.42.0-160000.3.1
perl-base-5.42.0-160000.3.1
perl-doc-5.42.0-160000.3.1

Описание

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.


Затронутые продукты
openSUSE Leap 16.0:perl-5.42.0-160000.3.1
openSUSE Leap 16.0:perl-base-5.42.0-160000.3.1
openSUSE Leap 16.0:perl-doc-5.42.0-160000.3.1

Ссылки

Описание

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.


Затронутые продукты
openSUSE Leap 16.0:perl-5.42.0-160000.3.1
openSUSE Leap 16.0:perl-base-5.42.0-160000.3.1
openSUSE Leap 16.0:perl-doc-5.42.0-160000.3.1

Ссылки

Описание

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.


Затронутые продукты
openSUSE Leap 16.0:perl-5.42.0-160000.3.1
openSUSE Leap 16.0:perl-base-5.42.0-160000.3.1
openSUSE Leap 16.0:perl-doc-5.42.0-160000.3.1

Ссылки

Описание

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.


Затронутые продукты
openSUSE Leap 16.0:perl-5.42.0-160000.3.1
openSUSE Leap 16.0:perl-base-5.42.0-160000.3.1
openSUSE Leap 16.0:perl-doc-5.42.0-160000.3.1

Ссылки

Описание

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.


Затронутые продукты
openSUSE Leap 16.0:perl-5.42.0-160000.3.1
openSUSE Leap 16.0:perl-base-5.42.0-160000.3.1
openSUSE Leap 16.0:perl-doc-5.42.0-160000.3.1

Ссылки
Уязвимость openSUSE-SU-2026:21411-1