Executive brief
A vulnerability in the Data::NDArray::Shared Perl module, which is used for sharing large data arrays between processes, could allow local users to access sensitive information. The software creates temporary files with insecure permissions, meaning any user on the same system can read the data being processed. Additionally, a malicious user could trick the system into overwriting or using incorrect files, potentially leading to data corruption or unauthorized data access.
Technical details
The vulnerability exists in the ndarray.h component of Data::NDArray::Shared before version 0.02. The software uses open() with O_RDWR|O_CREAT and a mode of 0666 to create mmap backing files, which results in world-readable files (0644) under default umask settings. Furthermore, the absence of O_EXCL and O_NOFOLLOW flags allows a local attacker to perform a symlink attack or win a race condition to pre-plant a file in shared directories like /tmp or /dev/shm. This leads to local information disclosure of IPC payloads and potential redirection of file operations. The issue is addressed in version 0.02.
Affected products
- EGOR (vividsnow) Data::NDArray::Shared < 0.02
Timeline
- 2026-07-21: disclosed
- 2026-07-21: advisory
- 2026-07-21: patched: Fixed in version 0.02