CVE Catalog

CVE-2026-12087

CriticalCVSS 9.1
Published: Updated: Translated: NVD NIST

Exploitation Probability (EPSS)

Low risk
0.19%

8th percentile — higher than 8% of all known CVEs

Summary

Socket versions before 2.041 for Perl have an out-of-bounds heap read issue. The pack_ip_mreq_source() function incorrectly checks the length of its source argument, leading to copying adjacent heap memory when the source is shorter than 4 bytes.

Risk Assessment

Organizations may be exposed to unauthorized memory access, potentially leading to the disclosure of sensitive data or application instability. Exploiting this vulnerability could allow attackers to manipulate application memory.

Recommendation

It is recommended to update to the latest version of Socket to eliminate this vulnerability. A code audit should also be conducted to identify and fix similar security issues.

Original NVD description (English source)

Socket versions before 2.041 for Perl have an out-of-bounds heap read. In Socket.xs, pack_ip_mreq_source() checks the length of its source argument before the argument is read, so the check tests the byte length carried over from the preceding multiaddr argument instead. Both addresses occupy a 4-byte field, so a valid multiaddr lets a source of any length pass the check, and the source is then copied into the 4-byte imr_sourceaddr field with a fixed-size copy. A source shorter than 4 bytes is not rejected, and the copy reads up to 3 bytes past the end of its buffer. Calling pack_ip_mreq_source() with a source value shorter than 4 bytes copies adjacent heap memory into the returned packed structure.

Vulnerability data from NVD (NIST) · CISA KEV · EPSS