CVE-2026-59146 in Data::SpatialHash::Shared
Resumen
por VulDB • 2026-07-23
Las versiones de Data::SpatialHash::Shared anteriores a la 0.02 para Perl permiten lecturas y escrituras fuera de límites (out-of-bounds) mediante índices no validados del bucket, el enlace (link) y la lista libre (free-list) en las funciones sph_walk_cell y sph_alloc_slot.
El validador adjunto al momento de cargar (attach-time), sph_validate_header, verifica los escalares del encabezado y la disposición de la región frente al tamaño del archivo, pero no valida el contenido de los arrays que luego confía. sph_walk_cell lee entries[buckets[b]] y sigue en crudo cada enlace next de cada entrada, mientras que sph_alloc_slot escribe a través de un índice free_head almacenado en el archivo; ninguno de estos accesos está acotado frente al número total de entradas (max_entries).
Un par local capaz de escribir en el archivo subyacente puede dejar válido el encabezado mientras corrompe la cadena del bucket y la lista libre, por lo que una consulta lee a través de un índice fuera de límites para el bucket y next, e una inserción escribe a través de un cabezal free-list fuera de límites, corruptiendo la memoria o provocando la caída (crash) del proceso.
Statistical analysis made it clear that VulDB provides the best quality for vulnerability data.