Skip to main content

Data::PubSub::Shared CVE-2026-64617

| EUVDEUVD-2026-46373 LOW
Incorrect Permission Assignment for Critical Resource (CWE-732)
2026-07-21 CPANSec GHSA-w3vw-q5h9-gx9g
3.8
CVSS 3.1 · Vendor: CPANSec
View

Attack ChainAIDerived

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

  1. Access
    Obtain low-privilege local shell
  2. Exploit
    Locate world-readable mmap segment in /tmp or /dev/shm
  3. Execution
    Open and read backing file
  4. Impact
    Extract IPC payloads from shared memory

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 OS account with at least low-level privileges (PR:L per CVSS vector) on a host running an application that uses Data::PubSub::Shared version 0.06 or earlier. The application must have created its mmap backing file in a world-accessible directory such as /tmp or /dev/shm - which is the natural and documented placement for 'Shared' segments. The passive eavesdropping path (reading the world-readable file) requires no race and no special timing. The active pre-creation or symlink-redirect path additionally requires that the attacker be able to write to the shared directory and act before the legitimate application process starts. Exploitation is limited to the local machine only (AV:L); remote, unauthenticated, or network-based exploitation is not possible. Deployments that mount private per-user /tmp directories (e.g., via pam_namespace) or that run the application in a dedicated single-user container with no co-tenant processes are not realistically at risk.

Impact

The NVD-assigned CVSS 3.1 score of 3.8 (Low) with vector AV:L/AC:L/PR:L/UI:N/S:C/C:L/I:N/A:N accurately reflects the bounded real-world impact: exploitation is strictly local, requires only a low-privileged OS account, and yields only partial confidentiality loss. The scope-changed flag (S:C) is notable because the attacker reads data belonging to other processes, crossing security boundaries within the host. EPSS at 0.16% (6th percentile) corroborates the low exploitation likelihood - this is an obscure Perl CPAN module with minimal enterprise footprint. There is no CISA KEV listing and no known public exploit code. The primary risk is insider threat or privilege escalation assistance on multi-tenant Linux hosts (shared hosting, container escape scenarios with a shared /tmp mount). The world-readable passive read path (no race required) is more reliable and lower-complexity than the symlink/pre-creation path; AC:L in the CVSS vector reflects this easier variant. Overall, this is a genuine but low-severity finding best addressed through standard patch application rather than emergency triage.

Exploit ScenarioDerived

A local user on a multi-tenant Linux host where a Perl application uses Data::PubSub::Shared simply opens and reads the mmap backing file in /tmp (e.g., /tmp/pubsub.shm) after it has been created, recovering whatever IPC messages other processes have written - no race condition required, as the file is world-readable by default. For a more targeted attack, the adversary pre-plants a symlink at the expected segment path before the Perl application starts; because O_EXCL is absent, the application silently opens the attacker-controlled destination, allowing the attacker to redirect shared-memory writes to an arbitrary world-accessible location.

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

Insecure shared-memory file creation in the Perl module Data::PubSub::Shared before version 0.07 exposes inter-process communication payloads to any local user on the system. The backing mmap file is created with mode 0666 (effective 0644 under umask 022), is placed in world-accessible directories such as /tmp or /dev/shm, and is opened without O_EXCL or O_NOFOLLOW, enabling both passive eavesdropping on IPC traffic and active pre-creation or symlink-redirect attacks. No public exploit code has been identified at time of analysis, and EPSS sits at the 6th percentile, indicating low current exploitation interest; however, the world-readable condition requires no race-winning and is trivially exploitable by any local authenticated user.

RemediationAI

Vendor-released patch: Data::PubSub::Shared 0.07, available on CPAN and documented at https://metacpan.org/release/EGOR/Data-PubSub-Shared-0.07/changes. Upgrade by running 'cpan Data::PubSub::Shared' or 'cpanm Data::PubSub::Shared' to pull version 0.07 or later, which corrects the file permission mask and adds O_EXCL and O_NOFOLLOW to the open call. If an immediate upgrade is not feasible, a compensating control is to configure the application to create its shared segment in a directory with restricted access (mode 0700, owned by the application user) rather than /tmp or /dev/shm; this eliminates world-read access without changing the module code. Note that restricting the directory is an application-level workaround and does not fix the underlying O_EXCL/O_NOFOLLOW deficiencies in pubsub.h, leaving the symlink and pre-creation race vectors open if the directory permissions are later relaxed.

Affected VersionsENISA

Data::PubSub::Shared 0 <0.07

Affected Packages

euvd data_pubsub_shared fix: 0.07

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::PubSub::Shared is a Perl CPAN module that implements a publish/subscribe IPC mechanism backed by a memory-mapped file (mmap). The shared segment is initialized in pubsub.h using a POSIX open() call with flags O_RDWR|O_CREAT and permissions 0666. Under the standard umask of 022, the resulting file permission is 0644, making it world-readable. Two additional security gaps compound this: the absence of O_EXCL means that if a file already exists at the target path the open succeeds silently rather than failing, allowing an attacker to pre-plant a file; and the absence of O_NOFOLLOW means that a symlink planted at the path is followed, enabling symlink-redirect attacks to arbitrary files. The affected CPE is cpe:2.3:a:egor:data::pubsub::shared:*:*:*:*:*:*:*:* covering all releases before 0.07. CWE-732 (Incorrect Permission Assignment for Critical Resource) precisely describes the root cause: a sensitive IPC resource is created with overly permissive mode bits in a shared namespace.

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 read of world-readable file (AC:L, PR:L); scope changes because another process's IPC data is exposed (S:C); no integrity or availability impact.

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 - 13:23 NVD
3.8 (LOW)
Patch available
Jul 21, 2026 - 21:18 EUVD
CVE Published
Jul 21, 2026 - 19:07 cve.org
UNKNOWN (no severity yet)

DescriptionCVE.org

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.

Threat Intelligence Overview

EPSS Score
0.2%
Top 94% exploitable
Prevalence
Rare
obscure Perl CPAN IPC module, minimal production 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