{"id":"DEBIAN-CVE-2026-12087","details":"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.","modified":"2026-09-12T10:00:15.568538570Z","published":"2026-06-15T22:16:16.197Z","upstream":["CVE-2026-12087"],"references":[{"type":"ADVISORY","url":"https://security-tracker.debian.org/tracker/CVE-2026-12087"}],"affected":[{"package":{"name":"libsocket-perl","ecosystem":"Debian:12","purl":"pkg:deb/debian/libsocket-perl?arch=source&distro=bookworm"},"ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"}]}],"versions":["2.036-1","2.037-1","2.038-1","2.040-1","2.041-1"],"ecosystem_specific":{"urgency":"not yet assigned"},"database_specific":{"source":"https://storage.googleapis.com/osv-test-debian-osv/debian-cve-osv/DEBIAN-CVE-2026-12087.json"}},{"package":{"name":"libsocket-perl","ecosystem":"Debian:13","purl":"pkg:deb/debian/libsocket-perl?arch=source&distro=trixie"},"ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"2.038-1+deb13u1"}]}],"versions":["2.038-1"],"ecosystem_specific":{"urgency":"not yet assigned"},"database_specific":{"source":"https://storage.googleapis.com/osv-test-debian-osv/debian-cve-osv/DEBIAN-CVE-2026-12087.json"}},{"package":{"name":"libsocket-perl","ecosystem":"Debian:14","purl":"pkg:deb/debian/libsocket-perl?arch=source&distro=forky"},"ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"2.041-1"}]}],"versions":["2.038-1","2.040-1"],"ecosystem_specific":{"urgency":"not yet assigned"},"database_specific":{"source":"https://storage.googleapis.com/osv-test-debian-osv/debian-cve-osv/DEBIAN-CVE-2026-12087.json"}},{"package":{"name":"perl","ecosystem":"Debian:12","purl":"pkg:deb/debian/perl?arch=source&distro=bookworm"},"ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"}]}],"versions":["5.36.0-10","5.36.0-7","5.36.0-7+deb12u1","5.36.0-7+deb12u2","5.36.0-7+deb12u3","5.36.0-8","5.36.0-9","5.38.0-1","5.38.0-2","5.38.0~rc2-1","5.38.2-1","5.38.2-2","5.38.2-3","5.38.2-3.1","5.38.2-3.2","5.38.2-3.2+hurd.1","5.38.2-4","5.38.2-5","5.40.0-1","5.40.0-2","5.40.0-3","5.40.0-4","5.40.0-5","5.40.0-6","5.40.0-7","5.40.0-8","5.40.0~rc1-1","5.40.1-1","5.40.1-2","5.40.1-3","5.40.1-4","5.40.1-5","5.40.1-6","5.40.1-7","5.40.1-8","5.42.0-1","5.42.0-2","5.42.0-3","5.42.2-1","5.42.2-2","5.42.2-3","5.42.3-1","5.44.0-1"],"ecosystem_specific":{"urgency":"not yet assigned"},"database_specific":{"source":"https://storage.googleapis.com/osv-test-debian-osv/debian-cve-osv/DEBIAN-CVE-2026-12087.json"}},{"package":{"name":"perl","ecosystem":"Debian:13","purl":"pkg:deb/debian/perl?arch=source&distro=trixie"},"ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"5.40.1-6+deb13u1"}]}],"versions":["5.40.1-6"],"ecosystem_specific":{"urgency":"not yet assigned"},"database_specific":{"source":"https://storage.googleapis.com/osv-test-debian-osv/debian-cve-osv/DEBIAN-CVE-2026-12087.json"}},{"package":{"name":"perl","ecosystem":"Debian:14","purl":"pkg:deb/debian/perl?arch=source&distro=forky"},"ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"5.42.3-1"}]}],"versions":["5.40.1-6","5.40.1-7","5.40.1-8","5.42.0-1","5.42.0-2","5.42.0-3","5.42.2-1","5.42.2-2","5.42.2-3"],"ecosystem_specific":{"urgency":"not yet assigned"},"database_specific":{"source":"https://storage.googleapis.com/osv-test-debian-osv/debian-cve-osv/DEBIAN-CVE-2026-12087.json"}}],"schema_version":"1.9.0","severity":[{"type":"CVSS_V3","score":"CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:N/A:H"}]}