Description
Data::Buffer::Shared versions before 0.05 for Perl create a world-readable mmap backing file and open it without O_NOFOLLOW.

The segment is created in buf_generic.h with open(path, O_RDWR|O_CREAT|O_EXCL, 0666). O_EXCL blocks a pre-seeded file on create, but the mode is 0666, so under the default umask 022 the file is created mode 0644 (world-readable), and O_NOFOLLOW is absent, so a symlink planted at the path is followed when the segment is attached.

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 symlink at the path redirects the open to another file.
Published: 2026-07-21
Score: 6.2 Medium
EPSS: < 1% Very Low
KEV: No
Impact: n/a
Action: n/a
AI Analysis

Impact

Data::Buffer::Shared prior to version 0.05 creates a memory‑ the common umask 022 becomes 0644, allowing any local user to read the file. The file is opened without the O_NOFOLLOW flag, so a malicious user can replace the file path with a symbolic link to another file. The result is that a local attacker can read or manipulate the data stored in the shared segment or redirect the program to open sensitive files, leading to information disclosure or potential privilege escalation. The weakness is represented by CWE‑59 (Use of Potentially Dangerous Functions) and CWE‑732 (Incorrect Permission Assignment for Critical Resource).

Affected Systems

Vulnerable products include EGOR Data::Buffer::Shared, specifically all releases before 0.05. Any deployment that relies on this module and stores its backing file in a shared or /dev/shm is affected. No additional vendor or product details are listed beyond the module name.

Risk and Exploitability

The vulnerability has a CVSS score of 6.2, indicating a moderate severity. The EPSS score is less than 1%, suggesting exploitation is unlikely but still possible in targeted or high‑risk environments. It is not listed in the CISA KEV catalog. The most probable attack vector is local: a user who can write to the backing‑file directory and create or modify a symlink can read the contents of the backing file or redirect access to other files. Exploitation requires no special network access and can be performed by a local attacker with permission to write to the shared location.

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

Remediation

Vendor Solution

Upgrade to Data::Buffer::Shared 0.05 or later, which creates the backing file mode 0600 (owner-only) with O_NOFOLLOW.


Vendor Workaround

For deployments that cannot upgrade to 0.05, 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 Data::Buffer::Shared to version 0.05 or later, which creates the backing file with mode 0600 and uses O_NOFOLLOW to prevent symlink attacks.
  • If an upgrade is not immediately possible, configure the process to use a restrictive umask such as 077 and place the backing file in a’ users only directory so no other local user can read it and no symlinks can be planted.
  • Ensure that the creation of the backing file is performed with the O_NOFOLLOW flag (or a wrapper that checks for symbolic links before opening), so that even if a symlink is planted the file descriptor will fail to open the redirected target.

Generated by OpenCVE AI on August 3, 2026 at 00:28 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::buffer::shared
Vendors & Products Egor
Egor data::buffer::shared

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

Type Values Removed Values Added
Metrics cvssV3_1

{'score': 6.2, 'vector': 'CVSS:3.1/AV:L/AC:L/PR:N/UI:N/S:U/C:H/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::Buffer::Shared versions before 0.05 for Perl create a world-readable mmap backing file and open it without O_NOFOLLOW. The segment is created in buf_generic.h with open(path, O_RDWR|O_CREAT|O_EXCL, 0666). O_EXCL blocks a pre-seeded file on create, but the mode is 0666, so under the default umask 022 the file is created mode 0644 (world-readable), and O_NOFOLLOW is absent, so a symlink planted at the path is followed when the segment is attached. 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 symlink at the path redirects the open to another file.
Title Data::Buffer::Shared versions before 0.05 for Perl create a world-readable mmap backing file and open it without O_NOFOLLOW
Weaknesses CWE-59
CWE-732
References

Subscriptions

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

Status: PUBLISHED

Assigner: CPANSec

Published:

Updated: 2026-07-23T12:25:36.375Z

Reserved: 2026-07-20T11:30:10.287Z

Link: CVE-2026-64613

cve-icon Vulnrichment

Updated: 2026-07-23T12:23:57.187Z

cve-icon NVD

Status : Deferred

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

Modified: 2026-07-23T13:16:29.300

Link: CVE-2026-64613

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