CVE-2026-59145
Received Received - Intake

Out-of-Bounds Read in Data::Intern::Shared Perl Module

Vulnerability report for CVE-2026-59145, 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::Intern::Shared versions before 0.02 for Perl allow an out-of-bounds read via unvalidated slot, reverse and arena indices in si_idx_find. The attach-time validator si_validate_header is thorough about the header and layout (magic, version, section offsets, total_size, count and arena_used) but does not validate the three arrays it then trusts. Every lookup in si_idx_find walks a triple indirection read straight from the mmap'd segment, arena[reverse[slots[i].id]], with no bound on slots[i].id against count, on the reverse[id] arena offset against arena_used, or on the arena record's length prefix. A local peer that can write the backing file can leave the header valid while poisoning a slot id, a reverse offset or an arena length prefix, so an id_of, intern or string lookup dereferences the chain out of bounds; because string() returns a file-controlled length of bytes from the arena, adjacent process memory can be disclosed.

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-21
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.

Attack-Flow Graph

AI Quick Actions

Instant insights powered by AI
Executive Summary

This vulnerability is an out-of-bounds read in the Perl module Data::Intern::Shared versions before 0.02. It occurs due to unvalidated slot, reverse, and arena indices in the si_idx_find function. The header validation checks magic, version, and offsets but does not validate three arrays it relies on. This allows an attacker to manipulate indices and read adjacent process memory by controlling the backing file.

Detection Guidance

This vulnerability involves an out-of-bounds read in Data::Intern::Shared for Perl. Detection requires checking Perl modules for versions of Data::Intern::Shared before 0.02. Use commands like 'cpan -D Data::Intern::Shared' or 'perl -MData::Intern::Shared -e "print $Data::Intern::Shared::VERSION"' to verify installed versions.

Impact Analysis

If you use Data::Intern::Shared versions before 0.02, an attacker with local write access to the backing file could exploit this to disclose adjacent process memory. This could lead to information leakage, such as sensitive data or credentials, being exposed in memory.

Compliance Impact

This vulnerability allows local attackers to disclose adjacent process memory by exploiting an out-of-bounds read in Data::Intern::Shared. For compliance standards like GDPR and HIPAA, which require protecting personal and sensitive data, this could lead to unauthorized data exposure, violating confidentiality requirements and potentially resulting in non-compliance.

Mitigation Strategies

Immediately update Data::Intern::Shared to version 0.02 or later. If updating is not possible, consider removing the module if it is not essential. Monitor system logs for unusual memory access patterns or crashes that may indicate exploitation attempts.

Chat Assistant

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

EPSS Chart