CVE-2026-59147
Received Received - Intake

Out-of-Bounds Read Write in Data::DisjointSet::Shared Perl Module

Vulnerability report for CVE-2026-59147, including description, CVSS score, EPSS score, affected products, exploitability, helpful resources, and attack-flow context.

Publication date: 2026-07-21

Last updated on: 2026-07-21

Assigner: CPANSec

Description

Data::DisjointSet::Shared versions before 0.02 for Perl allow out-of-bounds reads and writes via an unvalidated parent index in dsu_find. The attach-time validator dsu_validate_header checks the header scalars and region layout against the file size, but does not validate the array contents it then trusts. dsu_find walks and path-compresses parent[x] with x a raw file-stored index never bounded against the node count, so both the read and the compression write-back land out of bounds. A local peer that can write the backing file can leave the header valid while poisoning the parent array, so the next find or union both reads and writes through an out-of-bounds parent index, corrupting memory or crashing the process.

CVSS Scores

EPSS Scores

Probability:
Percentile:

Meta Information

Published
2026-07-21
Last Modified
2026-07-21
Generated
2026-07-22
AI Q&A
2026-07-22
EPSS Evaluated
N/A
NVD
EUVD

Affected Vendors & Products

Currently, no data is known.

Helpful Resources

Exploitability

CWE
CWE Icon
KEV
KEV Icon
CWE ID Description
CWE-125 The product reads data past the end, or before the beginning, of the intended buffer.
CWE-787 The product writes data past the end, or before the beginning, of the intended buffer.

Attack-Flow Graph

AI Quick Actions

Instant insights powered by AI
Executive Summary

This vulnerability affects the Perl module Data::DisjointSet::Shared before version 0.02. It allows out-of-bounds reads and writes due to an unvalidated parent index in the dsu_find function. The header validator checks file size and layout but not array contents, so malicious data can corrupt memory or crash the process.

Detection Guidance

This vulnerability involves out-of-bounds reads and writes in Data::DisjointSet::Shared versions before 0.02 for Perl. Detection requires checking installed Perl modules for versions below 0.02 and inspecting code that uses dsu_find or dsu_union functions for unvalidated parent indices.

Impact Analysis

A local attacker with file write access could exploit this to corrupt memory or crash the application. This could lead to data corruption, denial of service, or potentially arbitrary code execution depending on the application's use of the module.

Compliance Impact

This vulnerability does not directly affect compliance with GDPR, HIPAA, or similar standards as it is a memory corruption issue in a Perl module. However, if exploited, it could lead to arbitrary code execution or crashes, potentially causing data breaches or service disruptions that might violate compliance requirements.

Mitigation Strategies

Upgrade Data::DisjointSet::Shared to version 0.02 or later. Review any code using dsu_find or dsu_union to ensure parent indices are validated against node counts. Restrict write access to backing files to prevent poisoning.

Chat Assistant

Ask questions about this CVE
Hi! I’m here to help you understand CVE-2026-59147. Ask me anything about the vulnerability, its impact, or mitigation strategies.
0/70

EPSS Chart