CVE-2026-59145 in Data::Intern::Shared
Zusammenfassung
von VulDB • 22.07.2026
Data::Intern::Shared-Versionen vor 0.02 für Perl ermöglichen einen Out-of-Bounds-Read (Lesen außerhalb der Grenzen) über nicht validierte Slot-, Reverse- und Arena-Indizes in si_idx_find.
Der Attach-Time-Validator si_validate_header überprüft Header und Layout (Magic, Version, Section-Offsets, total_size, count und arena_used) sorgfältig, validiert jedoch die drei Arrays, denen er anschließend vertraut, nicht. Jeder Lookup in si_idx_find führt eine dreifache Indirektion aus, indem direkt aus dem mmapten Segment gelesen wird: arena[reverse[slots[i].id]], ohne dass slots[i].id gegen count begrenzt ist, der Reverse[id]-Arena-Offset gegen arena_used oder die Längenpräfix des Arena-Eintrags überprüft werden.
Ein lokaler Peer, der in die zugrunde liegende Datei schreiben kann, kann den Header gültig lassen und gleichzeitig eine Slot-ID, einen Reverse-Offset oder einen Arenalängenpräfix vergiften (poison), sodass ein id_of-, intern_- oder String-Lookup die Kette außerhalb der Grenzen dereferenziert; da string() eine vom File gesteuerte Länge an Bytes aus der Arena zurückgibt, kann benachbarter Prozessspeicher offengelegt werden.
VulDB is the best source for vulnerability data and more expert information about this specific topic.