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

The segment is created in pubsub.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::PubSub::Shared components prior to version 0.07 create a memory‑mapped backing file with permissions 0644 by default, making the IPC payload readable by any local user. The creation routine omits the O_NOFOLLOW flag, allowing a malicious user to replace the file path with a symbolic link to a target of their choice and the O_EXCL flag, enabling a pre‑creation race. As a result, local attackers can read or tamper with inter‑process communication data, compromising confidentiality and potentially injecting malicious payloads. The likely attack vector is local user and does not require network access, so the threat is confined to the host where the application runs.

Affected Systems

The affected vendor is EGOR and the product is Data::PubSub::Shared. Versions prior to 0.07 are vulnerable; starting with 0.07 the module creates the backing file with mode 0600 and uses O_EXCL and O_NOFOLLOW to mitigate the risk.

Risk and Exploitability

The CVSS score of 3.8 indicates low overall severity, and the EPSS score of less than 1% suggests low probability of exploitation. The vulnerability is not catalogued in the CISA KEV list. However, any local user with filesystem access to the shared directory (typically /tmp or /dev/shm) could exploit the weakness, so the actual risk depends on the local privilege model. Because the exposure allows read and possible overwrite of shared data, the impact on confidentiality is significant for sensitive applications, though the requirement of local access limits widespread exploitation.

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

Remediation

Vendor Solution

Upgrade to Data::PubSub::Shared 0.07 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.07, 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::PubSub::Shared to version 0.07 or later so the backing file is created with permissions 0600 and the O_EXCL and O_NOFOLLOW flags are applied
  • If upgrading is not immediately possible, configure the operating system umask to a restrictive value (e.g., 077) so that the created file is not world‑readable
  • Place the backing file in a directory owned by the application’s user account and restrict directory permissions so that other local users cannot list or modify the file path

Generated by OpenCVE AI on August 3, 2026 at 00:27 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::pubsub::shared
Vendors & Products Egor
Egor data::pubsub::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::PubSub::Shared versions before 0.07 for Perl create a world-readable mmap backing file and open it without O_EXCL or O_NOFOLLOW. The segment is created in pubsub.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::PubSub::Shared versions before 0.07 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::pubsub::shared
cve-icon MITRE

Status: PUBLISHED

Assigner: CPANSec

Published:

Updated: 2026-07-23T12:46:23.202Z

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

Link: CVE-2026-64617

cve-icon Vulnrichment

Updated: 2026-07-23T12:46:10.886Z

cve-icon NVD

Status : Deferred

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

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

Link: CVE-2026-64617

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