Skip to main content

Data::HashMap::Shared CVE-2026-65064

| EUVDEUVD-2026-46377 LOW
Incorrect Permission Assignment for Critical Resource (CWE-732)
2026-07-21 CPANSec GHSA-jq3v-5cfp-pm6x
3.8
CVSS 3.1 · Vendor: CPANSec
View

Attack ChainAIDerived

Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain

  1. Access
    Obtain local user shell on target system
  2. Exploit
    Locate world-readable mmap file in /tmp or /dev/shm
  3. Execution
    Open file directly and read IPC payloads
  4. Impact
    Exfiltrate sensitive inter-process data

Vulnerability Assessment

Weakness
CWE
OWASP Top 10:2025
A01:2025 - Broken Access Control
ASVS 5.0
V13 - Configuration Permission assignment review
Exploitation Conditions

Exploitation requires a local unprivileged user account (PR:L) on the same system as a process actively using Data::HashMap::Shared for shared-memory IPC. The vulnerable code path is triggered whenever the module initializes a shared segment in a world-accessible directory such as /tmp or /dev/shm - this is the module's default and expected usage pattern, not a non-default configuration. The primary information-disclosure vector (reading the world-readable file) imposes no race condition and is reliable as long as the target process is running or has run and left the file in place. The symlink/pre-creation redirect variant requires the attacker to act before the target process first creates the segment (a timing race or persistent symlink in /tmp). Exploitation is limited to: (1) multi-user systems where untrusted local users share the same OS instance; (2) deployments where the Perl application actively uses this specific module for IPC; (3) cases where the module writes sensitive data to the shared segment. Containerized single-user deployments or systems where all local users are equivalently trusted are not at meaningful risk.

Impact

The overall real-world risk is low-to-moderate for multi-user deployments and negligible for single-user or containerized environments. CVSS 3.8 with AV:L/AC:L/PR:L/UI:N/S:C/C:L correctly captures a local, low-complexity, low-privilege attack with a scope change reflecting cross-process IPC boundary violation, but the limited confidentiality impact (C:L) and absence of integrity or availability impact keeps the base score modest. EPSS of 0.16% at the 6th percentile corroborates low exploitation likelihood - this is a niche Perl module with limited deployment footprint. There is no CISA KEV listing and no public exploit code identified at time of analysis. The world-readable file disclosure vector (Path 1) requires no race condition and is the most reliable attack, while the symlink/pre-creation race (Path 2) adds complexity. These signals are consistent: the vulnerability is real and technically straightforward, but the affected product's narrow footprint sharply limits the population at risk. Priority should be elevated only for multi-tenant systems where multiple users share access and the module is actively used for IPC.

Exploit ScenarioDerived

A local unprivileged user on a multi-tenant Linux system (shared hosting, HPC cluster, developer workstation) identifies the predictable mmap backing file path created by a privileged or other-user process using Data::HashMap::Shared in /tmp or /dev/shm. Because the file is created world-readable (0644), the attacker directly opens and reads the file to extract IPC payloads - no timing race required. Alternatively, if the attacker acts before the target process starts, they can pre-plant a symlink at the expected path; because O_NOFOLLOW and O_EXCL are absent, the target process silently opens the attacker-controlled destination, potentially redirecting writes. No public exploit code has been identified.

Monitor Track and reassess. Why: LOW severity (CVSS 0.1-3.9).
Patch available 0.2% exploitation probability (EPSS)

Get an e-mail when this CVE is exploited, patched or re-scored. Free account.

Alert me

AnalysisAIv1 – Jul 23, 2026

World-readable mmap backing file creation in Data::HashMap::Shared (Perl CPAN module) versions before 0.14 exposes inter-process communication payloads to any local user co-resident on the same system. The module's shm_generic.h opens its shared memory segment with mode 0666 (resulting in 0644 under default umask 022) in world-accessible directories such as /tmp or /dev/shm, while omitting both the O_EXCL and O_NOFOLLOW flags - enabling a local attacker to either read IPC payloads directly from the world-readable file or redirect the open via a pre-planted symlink. No public exploit has been identified (EPSS 0.16%, 6th percentile) and there is no CISA KEV listing, but the primary information-disclosure vector requires no race condition and is trivially exploitable by any unprivileged local user on a multi-tenant system.

RemediationAI

Upgrade to Data::HashMap::Shared version 0.14 or later via CPAN (cpan install Data::HashMap::Shared or cpanm Data::HashMap::Shared), which corrects the file mode and adds the missing O_EXCL and O_NOFOLLOW flags in shm_generic.h. The patch is confirmed available per the MetaCPAN diff at https://metacpan.org/release/EGOR/Data-HashMap-Shared-0.14/diff/EGOR/Data-HashMap-Shared-0.13#shm_generic.h and changelog at https://metacpan.org/release/EGOR/Data-HashMap-Shared-0.14/changes. If immediate upgrade is not possible, a compensating control is to restrict the shared memory directory: configure the application to use a dedicated directory with mode 0700 or 0750 (owned by the service account) rather than /tmp or /dev/shm, preventing other local users from reading the backing file - note this requires application-level configuration support and does not fix the underlying open-flag deficiency. On Linux, mounting /dev/shm with noexec,nosuid and applying filesystem ACLs to restrict directory traversal to the owning UID provides additional isolation at the cost of operational complexity.

Affected VersionsENISA

Data::HashMap::Shared 0 <0.14

Affected Packages

euvd data_hashmap_shared fix: 0.14

Source: OSV (Open Source Vulnerabilities)

Affects your stack

Affects 1 package in euvd

Checking this CVE against your own stacks and servers is part of the Basic plan and up.

Technical ContextAI · show details

Data::HashMap::Shared is a Perl CPAN module (CPE: cpe:2.3:a:egor:data::hashmap::shared) that implements shared hash maps across processes using memory-mapped files backed by POSIX shared memory. The root cause is CWE-732 (Incorrect Permission Assignment for Critical Resource): in shm_generic.h, the backing file is created via open(path, O_RDWR | O_CREAT | O_CLOEXEC, 0666). Three distinct weaknesses compound here - (1) the 0666 mode results in world-readable 0644 files under the standard umask 022, exposing IPC payloads to all local users; (2) absence of O_NOFOLLOW means the kernel will follow any symlink planted at the target path in /tmp or /dev/shm before the legitimate open occurs; (3) absence of O_EXCL means a pre-existing file at that path is silently adopted rather than triggering an error. The fix in version 0.14 addresses all three by correcting the file mode and adding the missing open flags, as documented in the MetaCPAN diff and changelog.

Know when Data gets its next vulnerability

  • Watch products and get an email when something new is published
  • Check this CVE against your own stack and servers
  • Exploit and PoC references, threat intelligence from 22 sources

No credit card · 7-day full trial

Severity by source

Vendor (CPANSec) PRIMARY 3.8 LOW
AV:L/AC:L/PR:L/UI:N/S:C/C:L/I:N/A:N
vuln.today AI 3.8 LOW

Local access and a valid user account required; world-readable file exposure is AC:L with no race needed; scope change reflects cross-process IPC boundary; confidentiality limited to IPC payload contents.

3.1 AV:L/AC:L/PR:L/UI:N/S:C/C:L/I:N/A:N
4.0 AV:L/AC:L/AT:N/PR:L/UI:N/VC:L/VI:N/VA:N/SC:L/SI:N/SA:N

Primary rating from Vendor (CPANSec).

CVSS VectorVendor: CPANSec

Attack Vector
Local
Attack Complexity
Low
Privileges Required
Low
User Interaction
None
Scope
Changed
Confidentiality
Low
Integrity
None
Availability
None

Lifecycle Timeline

3
CVSS changed
Jul 23, 2026 - 14:23 NVD
3.8 (LOW)
Patch available
Jul 21, 2026 - 21:18 EUVD
CVE Published
Jul 21, 2026 - 19:08 cve.org
UNKNOWN (no severity yet)

DescriptionCVE.org

Data::HashMap::Shared versions before 0.14 for Perl create a world-readable mmap backing file and open it without O_EXCL or O_NOFOLLOW.

The segment is created in shm_generic.h with open(path, O_RDWR | O_CREAT | O_CLOEXEC, 0666). The mode is 0666, so under the default umask 022 the file is created mode 0644 (world-readable). O_NOFOLLOW is absent, so a symlink planted at the path is followed, and O_EXCL is absent, so the open silently uses a pre-planted file instead of failing.

A "Shared" segment naturally lives in a shared directory such as /tmp or /dev/shm, where any local user can read the IPC payloads stored in the world-readable segment, and a pre-planted file or symlink at the path lets a local attacker win a pre-creation race or redirect the open.

Threat Intelligence Overview

EPSS Score
0.2%
Top 94% exploitable
Prevalence
Low
niche Perl CPAN IPC module, limited enterprise footprint
Data Quality
4 sources
Confidence: Medium

How this decision was reached

The engine reads each signal below and applies a fixed list of rules from top to bottom. The first rule that matches sets the recommended action – like a statement, every line is shown.

SignalValue
Severity LOW
CISA KEV No
Public POC No
EPSS 0.2%
Patch available Yes
Active threat No
Deciding rule
LOW severity (CVSS 0.1-3.9)
What every action level means
Emergency Immediate action required. Criteria: CRITICAL + in CISA KEV (actively exploited) without patch, OR CRITICAL + EPSS > 30% without patch, OR CRITICAL + active threat signals without patch.
Act Now Prioritize within 24-48h. Criteria: in KEV with patch available, OR CRITICAL + public POC, OR HIGH + EPSS > 10%, OR CRITICAL + active threat, OR any CRITICAL severity.
This Week Schedule remediation this week. Criteria: HIGH severity (CVSS 7.0-8.9). Patch within normal change window.
This Month Plan within 30 days. Criteria: MEDIUM severity (CVSS 4.0-6.9), lower exploitation probability. Include in regular patch cycle.
Monitor Track and reassess. Criteria: LOW severity (CVSS 0.1-3.9), minimal exploitation risk. No immediate action needed.

SSVC AssessmentENISA

SSVC Decision· derived
Defer
Exploitation· derived
None
System Exposure· derived
Small
Automatable· derived
No
Human Impact· derived
Low

Priority Score

19
Low Medium High Critical
KEV: 0
EPSS: 0
CVSS: +19
PoC: 0
Weaponized: 0
Threat intel: 0
Gov advisory: 0

Attack Technique

Information disclosure occurs when an application unintentionally exposes sensitive data that aids attackers in reconnaissance or directly compromises security.

More in Data

View all
CVE-2021-29662 HIGH POC
7.5 Mar 31

The Data::Validate::IP module through 0.29 for Perl does not properly consider extraneous zero characters at the beginni

CVE-2026-59144 CRITICAL
9.8 Jul 21

Stack buffer overflow in the Perl module Data::RingBuffer::Shared before 0.04 lets a local peer with write access to the

CVE-2026-59147 CRITICAL
9.8 Jul 21

Out-of-bounds read and write in the Perl module Data::DisjointSet::Shared before version 0.02 lets a local actor who can

CVE-2026-59145 CRITICAL
9.1 Jul 21

Out-of-bounds memory disclosure in Data::Intern::Shared before 0.02, a Perl shared-memory string interning module, lets

CVE-2026-59146 HIGH
7.8 Jul 21

Out-of-bounds read and write in the Perl module Data::SpatialHash::Shared before 0.02 lets a local peer with write acces

CVE-2026-18536 HIGH
7.5 Aug 01

Entropy source compromise in Data::Entropy (Perl) before version 0.010 allows any on-path network attacker to fully cont

CVE-2026-59143 MEDIUM
6.3 Jul 21

Out-of-bounds read in Data::RoaringBitmap::Shared before version 0.02 for Perl allows a local peer with write access to

CVE-2026-64613 MEDIUM
6.2 Jul 21

World-readable mmap backing files and absent O_NOFOLLOW protection in Data::Buffer::Shared for Perl (versions before 0.0

CVE-2026-65065 MEDIUM
5.5 Jul 21

Information disclosure in Data::RoaringBitmap::Shared Perl module before 0.02 allows local attackers to read sensitive I

CVE-2026-65069 MEDIUM
4.0 Jul 21

Insecure mmap backing-file creation in Data::DisjointSet::Shared (Perl/CPAN) before 0.02 exposes inter-process IPC paylo

CVE-2026-64614 LOW
3.8 Jul 21

Information disclosure in the Perl Data::Deque::Shared module before version 0.06 exposes inter-process communication qu

CVE-2026-65068 LOW
3.8 Jul 21

World-readable IPC segment exposure in Data::SpatialHash::Shared (Perl) before version 0.02 allows any local user on a m

This site uses cookies essential for authentication and security. No tracking or analytics cookies are used. Privacy Policy