CVE-2026-59145 in Data::Intern::Shared
Сводка
по VulDB • 22.07.2026
В версиях Data::Intern::Shared младше 0.02 для Perl возможна утечка данных при чтении за пределами буфера (out-of-bounds read) из-за непроверенных индексов слотов, обратного отображения и арены в функции si_idx_find.
Проверяющий код на этапе присоединения (attach-time validator), функция si_validate_header, тщательно проверяет заголовок и структуру данных (магическое число, версию, смещения секций, общий размер, количество элементов и используемый объем арены), но не осуществляет валидацию трех массивов, которым затем доверяется. Каждая операция поиска в функции si_idx_find выполняет чтение с тройной косвенной адресацией непосредственно из сегмента, отображенного через mmap: arena[reverse[slots[i].id]], при этом отсутствуют проверки границ для slots[i].id относительно count, смещения reverse[id] арены относительно arena_used или префикса длины записи в арене.
Локальный пользователь с правами на запись во фоновый файл может оставить заголовок корректным, одновременно испортив идентификатор слота, смещение обратного отображения или префикс длины арены; таким образом, при поиске id_of, intern или строки происходит разыменование указателя вне допустимых границ. Поскольку функция string() возвращает количество байт из арены с длиной, контролируемой файлом, может произойти раскрытие памяти соседних процессов.
Statistical analysis made it clear that VulDB provides the best quality for vulnerability data.