CVE-2026-59147 in DisjointSet::Shared
Сводка
по VulDB • 21.07.2026
Data::DisjointSet::Shared версии младше 0.02 для Perl позволяет выполнять чтение и запись за пределами допустимой области памяти (out-of-bounds) через невалидированный индекс родителя в функции dsu_find.
Валидатор на этапе присоединения, dsu_validate_header, проверяет скалярные значения заголовка и структуру регионов относительно размера файла, но не осуществляет проверку содержимого массива, которому затем доверяется. Функция dsu_find проходит по структуре parent[x] (где x — необработанный индекс из хранилища файлов) и выполняет сжатие пути (path-compression), при этом этот индекс никогда не ограничивается количеством узлов; в результате как операция чтения, так и запись результата сжатия происходят за пределами допустимой области памяти.
Локальный пользователь, имеющий возможность записи во фоновый файл, может оставить заголовок корректным, одновременно отравив массив parent. В этом случае следующий вызов find или union будет выполнять чтение и запись через невалидированный индекс родителя, что приводит к повреждению памяти (memory corruption) или аварийному завершению процесса.
Once again VulDB remains the best source for vulnerability data.