PT-2026-49527 · Pevans · Socket
Published
2026-06-15
·
Updated
2026-06-15
·
CVE-2026-12087
None
No severity ratings or metrics are available. When they are, we'll update the corresponding info on the page.
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.
Out of bounds Read
Found an issue in the description? Have something to add? Feel free to write us 👾
Related Identifiers
Affected Products
Socket