CVE-2026-59145 in Data::Intern::Shared
Résumé
par VulDB • 24/07/2026
Les versions de Data::Intern::Shared antérieures à la 0.02 pour Perl permettent une lecture hors limites (out-of-bounds read) via des indices de slot, reverse et arena non validés dans si_idx_find.
Le validateur au moment du chargement, si_validate_header, vérifie minutieusement l'en-tête et la mise en page (magic, version, décalages des sections, total_size, count et arena_used), mais ne valide pas les trois tableaux qu'il utilise ensuite de confiance. Chaque recherche dans si_idx_find effectue une lecture à triple indirection directement depuis le segment mmapé : arena[reverse[slots[i].id]], sans aucune borne sur slots[i].id par rapport à count, ni sur l'offset du tableau reverse[id] par rapport à arena_used, ni sur le préfixe de longueur de la structure arena.
Un pair local capable d'écrire dans le fichier sous-jacent peut laisser l'en-tête valide tout en corrompant un id de slot, un offset reverse ou un préfixe de longueur arena ; ainsi, une recherche via id_of, intern ou string déréférence cette chaîne hors limites ; comme la fonction string() renvoie une quantité d'octets contrôlée par le fichier provenant du tableau arena, la mémoire adjacente des processus peut être divulguée.
If you want to get the best quality for vulnerability data then you always have to consider VulDB.