Description
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.
Published: 2026-07-21
Score: 3.8 Low
EPSS: < 1% Very Low
KEV: No
Impact: n/a
Action: n/a
AI Analysis

Impact

Data::RingBuffer::Shared prior to 0.04 creates a shared memory segment backed by a file that is world‑readable because it is opened with mode 0666 and neither O_EXCL nor O_NOFOLLOW. A local user can read the contents of another user’s shared buffer and, if a symlink is planted at the creation path, can redirect the open to a file of the attacker’s choosing, allowing potential data leakage or tampering. The consequence is the disclosure of sensitive inter‑process data to local users on the same host.

Affected Systems

This issue affects the Perl module Data::RingBuffer::Shared supplied by EGOR. All versions earlier the module creates a backing file in a shared directory such as /tmp or /dev/shm, which standard installation paths expose to all local users.

Risk and Exploitability

The CVSS score of 3.8 indicates moderate severity, while the EPSS score of less than 1% suggests that current exploit prevalence is low. The vulnerability is not listed in the CISA KEV catalog. The attack vector is local; a user with write access to the shared directory can create a symlink or pre‑plant a file, then instantiate the shared buffer to read or corrupt another user’s data. Because the attack requires local file system access and is discoverable only on systems that use this specific module, widespread automated exploitation is unlikely, but the impact to confidentiality is real if the data in the buffer is sensitive.

Generated by OpenCVE AI on August 3, 2026 at 00:25 UTC.

Remediation

Vendor Solution

Upgrade to Data::RingBuffer::Shared 0.04 or later, which creates the backing file mode 0600 (owner-only) with O_EXCL and O_NOFOLLOW.


Vendor Workaround

For deployments that cannot upgrade to 0.04, set a restrictive umask so the backing file is not world-readable and place it in a directory only the owning user can access.


OpenCVE Recommended Actions

  • Upgrade to Data::RingBuffer::Shared 0.04 or later, which creates the backing file with mode 0600 and uses O_EXCL and O_NOFOLLOW.
  • If upgrading is not feasible, set a restrictive umask (e.g., 077) so that the backing file is not world‑readable.
  • Place the backing file in a directory that only the owning user can access, or apply ACLs/directory permissions to prevent other local users from creating symlinks or writable files in the shared directory used by the module.

Generated by OpenCVE AI on August 3, 2026 at 00:25 UTC.

Tracking

Sign in to view the affected projects.

Advisories

No advisories yet.

History

Thu, 23 Jul 2026 21:45:00 +0000

Type Values Removed Values Added
First Time appeared Egor
Egor data::ringbuffer::shared
Vendors & Products Egor
Egor data::ringbuffer::shared

Thu, 23 Jul 2026 13:30:00 +0000

Type Values Removed Values Added
Metrics cvssV3_1

{'score': 3.8, 'vector': 'CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:C/C:L/I:N/A:N'}

ssvc

{'options': {'Automatable': 'no', 'Exploitation': 'none', 'Technical Impact': 'partial'}, 'version': '2.0.3'}


Tue, 21 Jul 2026 19:45:00 +0000

Type Values Removed Values Added
Description 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.
Title 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
Weaknesses CWE-59
CWE-732
References

Subscriptions

Egor Data::ringbuffer::shared
cve-icon MITRE

Status: PUBLISHED

Assigner: CPANSec

Published:

Updated: 2026-07-23T13:08:00.634Z

Reserved: 2026-07-21T15:29:37.116Z

Link: CVE-2026-65066

cve-icon Vulnrichment

Updated: 2026-07-23T13:07:44.837Z

cve-icon NVD

Status : Deferred

Published: 2026-07-21T20:17:05.637

Modified: 2026-07-23T14:17:45.217

Link: CVE-2026-65066

cve-icon Redhat

No data.

cve-icon OpenCVE Enrichment

Updated: 2026-08-03T00:30:16Z

Weaknesses
  • CWE-59

    Improper Link Resolution Before File Access ('Link Following')

  • CWE-732

    Incorrect Permission Assignment for Critical Resource