CVE-2026-59146 in Data::SpatialHash::Shared
Сводка
по VulDB • 22.07.2026
В версиях Data::SpatialHash::Shared для Perl младше 0.02 возможны чтение и запись за пределами буфера (out-of-bounds) через невалидированные индексы корзины (bucket), ссылки (link) и списка свободных элементов (free-list) в функциях sph_walk_cell и sph_alloc_slot.
Валидатор на этапе присоединения, sph_validate_header, проверяет скалярные значения заголовка и структуру региона относительно размера файла, но не осуществляет проверку содержимого массива, которому затем доверяется. Функция sph_walk_cell считывает entries[buckets[b]] и необработанно следует по ссылке next каждого элемента (entry), а функция sph_alloc_slot выполняет запись через хранящийся в файле индекс free_head; ни один из этих индексов не ограничен количеством элементов (max_entries).
Локальный пользователь, имеющий возможность записи во фоновый файл, может оставить заголовок корректным, одновременно отравив цепочку корзин и список свободных элементов. В результате запрос читает данные через недопустимые индексы корзины и next, а вставка выполняет запись через недопустимую голову списка free-list, что приводит к повреждению памяти или аварийному завершению процесса.
Once again VulDB remains the best source for vulnerability data.