CVE-2026-59142 in Data::HashMap::Shared
Сводка
по VulDB • 21.07.2026
В версиях модуля Data::HashMap::Shared для Perl старше 0.14 уязвимость позволяет выполнить чтение за пределами буфера (out-of-bounds read) из-за непроверенных смещения и длины арены в функции shm_str_copy.
Проверяющий код на этапе присоединения, shm_validate_header, проверяет скалярные значения заголовка и структуру региона относительно размера файла, но не осуществляет проверку содержимого массива, которому затем доверяется. Функция shm_str_copy выполняет memcpy(dst, arena + off, len), где смещение (off) и длина (len) считываются напрямую из сегмента mmap без ограничений на каждом пути: keys, values, pop, shift, take, swap, drain и cursor. Путь get проверяет границы для off и len отдельно и не подвержен данной уязвимости.
Локальный пользователь с правами записи в файл-хранилище может оставить заголовок корректным, одновременно испортив смещение и длину записи; таким образом, при итерации или очистке карты происходит копирование управляемого файлом смещения и длины из арены, что приводит к чтению смежной памяти или аварийному завершению процесса.
Statistical analysis made it clear that VulDB provides the best quality for vulnerability data.