CPANSA-Socket-2026-12087: Socket vulnerability
| Publisher | giterlizzi | Document category | csaf_security_advisory |
|---|---|---|---|
| Initial release date | 2026-06-15T00:00:00 | Engine | CSAF Perl Toolkit 0.26 |
| Current release date | 2026-06-15T00:00:00 | Build Date | |
| Current version | 1 | Status | final |
| CVSS v3.1 Base Score | 9.1 | Severity | |
| Original language | Language | en | |
| Also referred to | |||
Vulnerability Description
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.
Vulnerabilities
CVE-2026-12087
Vulnerability DescriptionSocket 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.
| Weakness | CWE-125 : Out-of-bounds Read |
|---|
Product status
Known affected
| Product | Score | ||||||||
|---|---|---|---|---|---|---|---|---|---|
| Socket less than 2.041 |
|
Fixed
- Socket greater than or equal 2.041
giterlizzi
Namespace: https://github.com/giterlizzi/
gdt@cpan.org
References
- CPANSA-Socket-2026-12087 JSON self
https://raw.githubusercontent.com/giterlizzi/perl-CPANSA-CSAF/develop/csaf/white/2026/cpansa-socket-2026-12087.json - https://github.com/Perl/perl5/commit/de19a0b0ad1900fef976c5c1400bd8f11ec6c6cb.patch external
https://github.com/Perl/perl5/commit/de19a0b0ad1900fef976c5c1400bd8f11ec6c6cb.patch - https://metacpan.org/release/PEVANS/Socket-2.041/changes external
https://metacpan.org/release/PEVANS/Socket-2.041/changes - http://www.openwall.com/lists/oss-security/2026/06/15/10 external
http://www.openwall.com/lists/oss-security/2026/06/15/10 - CVE-2026-12087 (NVD) external
https://nvd.nist.gov/vuln/detail/CVE-2026-12087
Revision history
| Version | Date of the revision | Summary of the revision |
|---|---|---|
| 1 | Mon Jun 15 00:00:00 2026 | First release |
Sharing rules
TLP:WHITE
For the TLP version see: https://www.first.org/tlp/