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

The segment is created in radix.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::RadixTree::Shared versions prior to 0.02 open a memory‑mapped segment on disk using permissions 0666 and omit the O_EXCL and O_NOFOLLOW flags. The resulting file is world‑readable and, because symbolic links are followed, a local user can plant a symlink or pre‑create a file at the path to influence the open. These factors create a weakness in which a local user can read or potentially redirect data accessed by the module, exposing interprocess communication payloads and allowing a race condition or symlink attack. The flaw aligns with CWE‑732 (incorrect permission assignment) and CWE‑59 (path traversal via inadequate symlink checks).

Affected Systems

The vulnerability affects the Perl module EGOR:Data::RadixTree::Shared in all releases before version 0.02. No specific distribution packages or operating systems are listed, but the issue occurs whenever the module is used in a Perl environment that creates the backing file in a shared directory such as /tmp or /dev/shm.

Risk and Exploitability

The CVSS score is 3.8, indicating a low severity, and the EPSS score is less than 1%, suggesting a low probability of exploitation. The vulnerability is not listed in the CISA KEV catalog. Attack is likely local; a user with access to the shared directory can read the world‑readable file or attempt to substitute it with a symlink or pre‑created file, achieving information disclosure or a potential local race condition. No remote attack vector is implied by the available data.

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

Remediation

Vendor Solution

Upgrade to Data::RadixTree::Shared 0.02 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.02, 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::RadixTree::Shared to version 0.02 or later, which creates the backing file with mode 0600 and includes O_EXCL and O_NOFOLLOW.
  • If an upgrade is not possible, set a restrictive umask such as 077 before the module creates the backing file, and configure the application to store the file in a directory that is owned by the application user and not accessible to other users.
  • For existing installations, locate any world‑readable backing files created by older versions and change their permissions to 0600 or delete them, ensuring that no other local users can read or manipulate the shared memory segment.

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

Status: PUBLISHED

Assigner: CPANSec

Published:

Updated: 2026-07-23T12:50:22.071Z

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

Link: CVE-2026-65063

cve-icon Vulnrichment

Updated: 2026-07-23T12:49:48.605Z

cve-icon NVD

Status : Deferred

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

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

Link: CVE-2026-65063

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