CVE-2026-59144: Data::RingBuffer::Shared versions before 0.04 for Perl allow a stack buffer overflow via an unvalidated elem_size in ring_read_seq
Data::RingBuffer::Shared versions before 0.04 for Perl allow a stack buffer overflow via an unvalidated elemsize in ringreadseq.
The attach-time validator ringvalidateheader checks the capacity-overflow and totalsize consistency of the header but never caps elemsize against the destination size. ringreadseq does memcpy(out, ringslot(h, seq), elemsize) with elemsize read raw from the mmap'd segment, copying into a fixed 8-byte destination scalar. An elemsize larger than 8 bytes writes past the destination.
A local peer that can write the backing file can leave the header valid while setting a large elemsize, so the next read copies a file-controlled length into the fixed 8-byte stack buffer, corrupting adjacent stack frames.
Affected Software
Remediation
Recommended actions to resolve this vulnerability, in priority order.
- Upgrade
Upgrade
Data::RingBuffer::Sharedto a version that resolves this vulnerability.Fixed in 0.04
Event History
Frequently Asked Questions
What is the severity of CVE-2026-59144?
CVE-2026-59144 has a severity rating of critical, with a CVSS score of 9.8.
How do I fix CVE-2026-59144?
To mitigate CVE-2026-59144, update Data::RingBuffer::Shared to version 0.04 or later.
What type of vulnerability is CVE-2026-59144?
CVE-2026-59144 is categorized as a Buffer Overflow vulnerability.
Which software is affected by CVE-2026-59144?
CVE-2026-59144 affects versions of Perl Data::RingBuffer::Shared prior to 0.04.
What can an attacker do with CVE-2026-59144?
An attacker can exploit CVE-2026-59144 to cause a stack buffer overflow, potentially allowing arbitrary code execution.