Skip to main content

Data::RadixTree::Shared CVE-2026-65063

| EUVDEUVD-2026-46376 LOW
Incorrect Permission Assignment for Critical Resource (CWE-732)
2026-07-21 CPANSec GHSA-c3ff-xfjv-hpqv
3.8
CVSS 3.1 · Vendor: CPANSec
View

Attack ChainAIDerived

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

  1. Access
    Gain local user shell access
  2. Exploit
    Locate Data::RadixTree::Shared backing file in /tmp or /dev/shm
  3. Execution
    Read world-readable mmap file (mode 0644)
  4. Impact
    Extract IPC payloads from segment contents

Vulnerability Assessment

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

A local user account on the same host as a process using Data::RadixTree::Shared before 0.02 is required; the CVSS vector PR:L confirms a low-privileged (but authenticated) local account is sufficient. The backing file must be created in a world-accessible directory - /tmp or /dev/shm, which are the module's intended locations for shared segments. The passive information-disclosure path (reading the 0644 backing file) requires no special timing and is exploitable as long as the victim process has the segment open. The symlink and pre-creation race paths require the attacker to plant a file or symlink at the exact expected path before the victim process calls open(), introducing a timing dependency that reduces but does not eliminate viability. Exploitation is limited to multi-user systems: single-user workstations, containers without additional shell-access users, or Kubernetes pods with a single service account are not exposed to cross-user access.

Impact

The CVSS 3.1 vector AV:L/AC:L/PR:L/UI:N/S:C/C:L/I:N/A:N and score of 3.8 accurately characterize the vulnerability: local access with standard user privileges, low complexity for the passive read path, and a scope change justified by the IPC segment crossing process boundaries. The Scope:Changed rating is appropriate because the world-readable segment exposes data produced by other processes on the system. EPSS at 0.16% (6th percentile) confirms this is not a focus of current threat actor activity, and the vulnerability is not listed in CISA KEV. No public exploit code has been identified. The real-world risk is meaningfully elevated in multi-user UNIX environments - shared hosting, HPC clusters, application servers - where untrusted local users coexist with privileged processes using this module. On single-user workstations, containers with no additional shell users, or Kubernetes pods with a single service account, the attack surface is effectively absent. The passive read path (simply reading the world-readable backing file) requires no timing precision and is more reliable than the race-condition pre-creation or symlink-planting paths, which depend on winning a timing window. Overall this is a genuine but narrow local information-disclosure risk, not a remote or unauthenticated threat.

Exploit ScenarioDerived

A low-privileged local user on a shared Linux server identifies a long-running Perl service that uses Data::RadixTree::Shared before 0.02, locates the world-readable mmap backing file in /tmp or /dev/shm using standard ls or find commands, and reads its contents directly - exposing IPC payloads such as session state, tokens, or application data exchanged between service processes. Alternatively, the attacker pre-plants a symlink at the expected backing file path before the service starts, causing the vulnerable open() call to follow it and mmap over an attacker-chosen destination, potentially redirecting or reading traffic from a different file. No public exploit code is identified at time of analysis.

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::RadixTree::Shared before 0.02 exposes inter-process communication payloads to any authenticated local user on the system. The Perl module's radix.h opens the shared segment file with mode 0666 (resolving to 0644 under default umask), while omitting both O_EXCL and O_NOFOLLOW, enabling two distinct local attack paths: passive reading of IPC segment contents from /tmp or /dev/shm, and an active file-planting or symlink-redirection attack exploiting the missing exclusive-creation guard. No public exploit is identified at time of analysis; EPSS at 0.16% (6th percentile) and absence from CISA KEV indicate no current active exploitation.

RemediationAI

Upgrade to Data::RadixTree::Shared version 0.02 or later, which is available on CPAN and resolves all three defects (file mode, missing O_EXCL, missing O_NOFOLLOW) as documented in the release diff at https://metacpan.org/release/EGOR/Data-RadixTree-Shared-0.02/diff/EGOR/Data-RadixTree-Shared-0.01#radix.h. Install via cpanm Data::RadixTree::Shared or cpan install Data::RadixTree::Shared. If immediate upgrade is not feasible, configure the application to place its backing file in a private mode-0700 directory owned by the service account rather than /tmp or /dev/shm - this prevents other local users from reading or pre-planting files at the target path, though it does not fix the underlying O_EXCL and O_NOFOLLOW deficiencies in the code. Deploying the service in a container or isolated process namespace with no untrusted local users also eliminates the attack surface without code changes. No workaround fully substitutes for the vendor-released patch at version 0.02.

Affected VersionsENISA

Data::RadixTree::Shared 0 <0.02

Affected Packages

euvd data_radixtree_shared fix: 0.02

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::RadixTree::Shared is a Perl CPAN module (author EGOR, CPE cpe:2.3:a:egor:data::radixtree::shared:*:*:*:*:*:*:*:*) implementing a shared-memory radix tree for IPC via memory-mapped files. The defect resides in radix.h, which calls open(path, O_RDWR|O_CREAT, 0666): the 0666 mode combined with the default system umask of 022 produces a file with permissions 0644, making it world-readable. CWE-732 (Incorrect Permission Assignment for Critical Resource) describes this root cause - the resource (the IPC backing file) is assigned permissions that allow unintended access by other users. Compounding this, the absence of O_EXCL means the kernel silently reuses a pre-existing file at the target path rather than failing the open, and the absence of O_NOFOLLOW means a symlink planted at the path is transparently followed, redirecting the mmap to an attacker-chosen file. Because the module is designed for use with shared directories such as /tmp or /dev/shm, these world-accessible locations are the natural deployment targets where other local users can both read and manipulate paths.

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 attack requiring a standard user account (PR:L); S:C because the IPC segment crosses process boundaries; no integrity or availability impact from the primary passive read path.

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::RadixTree::Shared versions before 0.02 for Perl create a world-readable mmap backing file and open it without O_EXCL or O_NOFOLLOW.

The segment is created in radix.h with open(path, O_RDWR|O_CREAT, 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
Rare
Niche Perl CPAN IPC module, minimal enterprise footprint
Data Quality
5 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