CVE-2026-12844
Received Received - Intake
Heap Buffer Overflow in List::SomeUtils::XS for Perl

Publication date: 2026-06-25

Last updated on: 2026-06-25

Assigner: CPANSec

Description
List::SomeUtils::XS versions before 0.59 for Perl have a heap buffer overflow in the pairwise function. pairwise() collects the values returned by the block into a heap buffer sized to the longer input array, then grows the buffer before each copy with a single quadrupling (alloc <<= 2) instead of a loop. A block call that returns more than four times the current allocation in one invocation outgrows that one quadrupling, and the copy writes past the end of the buffer. Any caller of pairwise() whose block returns, for a single pair, more than four times the longer input array's length writes past the buffer and corrupts the heap.
CVSS Scores
EPSS Scores
Probability:
Percentile:
Meta Information
Published
2026-06-25
Last Modified
2026-06-25
Generated
2026-06-25
AI Q&A
2026-06-25
EPSS Evaluated
N/A
NVD
EUVD
Affected Vendors & Products
Showing 1 associated CPE
Vendor Product Version / Range
houseabsolute list_someutils_xs to 0.59 (exc)
Helpful Resources
Exploitability
CWE
CWE Icon
KEV
KEV Icon
CWE ID Description
CWE-122 A heap overflow condition is a buffer overflow, where the buffer that can be overwritten is allocated in the heap portion of memory, generally meaning that the buffer was allocated using a routine such as malloc().
CWE-787 The product writes data past the end, or before the beginning, of the intended buffer.
Attack-Flow Graph
AI Quick Actions
Instant insights powered by AI
Executive Summary

This vulnerability is a heap buffer overflow in the pairwise function of List::SomeUtils::XS versions before 0.59 for Perl. The pairwise() function collects values returned by a block into a heap buffer sized to the longer input array. However, it grows the buffer by a single quadrupling instead of repeatedly expanding it in a loop. If the block returns more than four times the current allocation in one call, the buffer is outgrown and the function writes past the end of the buffer, causing heap corruption.

Impact Analysis

The heap buffer overflow can lead to heap corruption, which may cause crashes, unexpected behavior, or potentially allow an attacker to execute arbitrary code or escalate privileges if exploited. Any caller of the pairwise() function that returns a very large list in one invocation risks corrupting the heap, which can compromise the stability and security of the application using this module.

Mitigation Strategies

To mitigate this vulnerability, update List::SomeUtils::XS to version 0.59 or later where the heap buffer overflow in the pairwise function has been fixed.

The patch modifies the memory allocation logic to dynamically expand the buffer size in a loop until it can accommodate large return values, preventing the overflow.

Chat Assistant
Ask questions about this CVE
Hi! I’m here to help you understand CVE-2026-12844. Ask me anything about the vulnerability, its impact, or mitigation strategies.
0/70
EPSS Chart