Skip to main content

Data::RingBuffer::Shared CVE-2026-65066

| EUVDEUVD-2026-46379 LOW
Incorrect Permission Assignment for Critical Resource (CWE-732)
2026-07-21 CPANSec GHSA-v6hr-647x-cg64
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 on shared host
  2. Exploit
    Identify mmap backing file path in /tmp or /dev/shm
  3. Execution
    Read world-readable 0644 segment file directly
  4. Impact
    Extract IPC ring buffer payloads from target process

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 user account on the same host as a process using Data::RingBuffer::Shared before 0.04, and the module must be actively in use (i.e., a process has created and is writing to the shared ring buffer segment). The shared segment must reside in a world-accessible directory such as /tmp or /dev/shm, which is the module's intended deployment pattern for 'Shared' segments. For the direct information disclosure path, no race condition or special timing is required - the attacker simply reads the existing 0644-mode backing file. For the pre-creation or symlink redirect attacks, the attacker must be able to write to the backing file directory before the target process initializes the segment. Remote exploitation is not possible (AV:L); root or elevated privilege is not required. Exploitation is limited to environments where untrusted local users share the same host as processes exchanging sensitive data through this IPC mechanism.

Impact

The CVSS 3.1 vector AV:L/AC:L/PR:L/UI:N/S:C/C:L/I:N/A:N (score 3.8) accurately reflects the attack profile: local access with low privilege, yielding limited confidentiality impact with scope change. The scope change (S:C) is justified because the permissioning flaw in the module exposes data owned by separate, potentially higher-privileged processes. The EPSS of 0.16% at the 6th percentile is consistent with real-world risk: this is a niche Perl CPAN module with a small enterprise footprint, no KEV listing, and no public POC. CVSS at 3.8 is an honest reflection - meaningful in multi-user shared systems (HPC clusters, shared application servers) where co-tenant local users could passively read sensitive IPC data without any race condition, but not broadly weaponizable or automatable. The symlink attack adds a secondary vector requiring timing but introduces no additional impact category beyond what the direct read already provides. This is a genuine but narrow-scope defect with real consequences only in multi-user deployment environments.

Exploit ScenarioDerived

A local attacker on a shared multi-user system (such as an HPC node or shared application server) identifies the mmap backing file path used by a target process in /tmp or /dev/shm, then directly reads the world-readable 0644 file to extract all IPC payloads stored in the ring buffer without any race or privilege escalation. Alternatively, before the target process starts, the attacker plants a symlink at the expected path; the absence of O_NOFOLLOW causes the module to silently follow the link, redirecting the open to an attacker-controlled file and exposing or manipulating IPC data.

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 and missing symlink/exclusivity guards in Data::RingBuffer::Shared before version 0.04 expose inter-process IPC payloads to any local user on the host. The module creates its shared segment in ring.h with mode 0666 (effective 0644 under default umask 022), making contents in /tmp or /dev/shm readable by all local users; omission of O_EXCL and O_NOFOLLOW further enables pre-creation race and symlink-redirect attacks. No public exploit has been identified at time of analysis, and the EPSS score of 0.16% (6th percentile) reflects low exploitation probability commensurate with the module's niche deployment footprint.

RemediationAI

Vendor-released patch: version 0.04. Upgrade Data::RingBuffer::Shared to 0.04 or later via CPAN (cpan Data::RingBuffer::Shared or cpanm Data::RingBuffer::Shared); the full changelog is available at https://metacpan.org/release/EGOR/Data-RingBuffer-Shared-0.04/changes. If immediate upgrade is not feasible, restrict the backing file directory to a private path owned exclusively by the application user (mode 0700) rather than /tmp or /dev/shm, which eliminates both the world-readable disclosure and the symlink/pre-creation attack surface - note this requires application-level configuration and may not be supported by all module versions without patching. Applying a restrictive process umask (e.g., 0177) at the process level reduces the world-readable risk but does not address the missing O_EXCL and O_NOFOLLOW flags; it should be treated as a partial compensating control only. Additional VulDB advisory context is available at https://vuldb.com/vuln/381045.

Affected VersionsENISA

Data::RingBuffer::Shared 0 <0.04

Affected Packages

euvd data_ringbuffer_shared fix: 0.04

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::RingBuffer::Shared is a Perl CPAN module (CPE: cpe:2.3:a:egor:data::ringbuffer::shared) implementing a shared-memory ring buffer via mmap-backed files, designed for inter-process communication and typically stored in world-accessible directories such as /tmp or /dev/shm. The root cause is classified as CWE-732 (Incorrect Permission Assignment for Critical Resource): the segment creation call in ring.h is open(path, O_RDWR|O_CREAT, 0666), which under the standard umask of 022 yields a file with mode 0644 - world-readable. Two compounding flag omissions exist: the absence of O_EXCL means a pre-existing file at the target path is silently adopted rather than triggering an error (enabling pre-creation attacks), and the absence of O_NOFOLLOW means a symbolic link planted at the target path is transparently followed (enabling path-redirection attacks). Both attack vectors are feasible against the IPC data of any process using the module on a shared host.

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 low-privileged user reads world-accessible shared memory file; scope change reflects cross-process data exposure; no integrity or availability impact applies.

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:09 cve.org
UNKNOWN (no severity yet)

DescriptionCVE.org

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

The segment is created in ring.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