CVE-2026-59140: Data::SortedSet::Shared versions before 0.03 for Perl allow an out-of-bounds read via unvalidated node indices in the rank and min/max query paths
Robert Rothenberg 21 Jul 2026 19:29 UTC
========================================================================
CVE-2026-59140 CPAN Security Group
========================================================================
CVE ID: CVE-2026-59140
Distribution: Data-SortedSet-Shared
Versions: before 0.03
MetaCPAN: https://metacpan.org/dist/Data-SortedSet-Shared
VCS Repo: https://github.com/vividsnow/perl5-data-sortedset-shared
Data::SortedSet::Shared versions before 0.03 for Perl allow an
out-of-bounds read via unvalidated node indices in the rank and min/max
query paths
Description
-----------
Data::SortedSet::Shared versions before 0.03 for Perl allow an
out-of-bounds read via unvalidated node indices in the rank and min/max
query paths.
The attach-time validator ss_validate_header bounds only the root index
against the node pool (node_capacity). The order-statistics and min/max
queries then follow children[], leftmost and rightmost node indices
read raw from the mmap'd segment without bounding them against
node_capacity. A full structural check (ss_validate_tree) exists but
runs only via an explicit validate method, not on attach.
A local peer that can write the backing file can leave the header valid
while poisoning the tree links, so the next rank, min or max query
dereferences an out-of-bounds node index, reading adjacent memory or
crashing the process.
Problem types
-------------
- CWE-125 Out-of-bounds Read
Workarounds
-----------
For deployments that cannot upgrade to 0.03, place the backing file in
a directory writable only by the owning user, so a local peer cannot
tamper with the tree the query paths traverse.
Solutions
---------
Upgrade to Data::SortedSet::Shared 0.03 or later, which bounds every
node index against the node pool before dereferencing it.
References
----------
https://metacpan.org/release/EGOR/Data-SortedSet-Shared-0.03/diff/EGOR/Data-SortedSet-Shared-0.02#sortedset.h
https://metacpan.org/release/EGOR/Data-SortedSet-Shared-0.03/changes