CVE-2026-19566
Last modified
CVE-2026-19566 is a high-severity vulnerability rated 7.5/10 on the CVSS scale. Net::CIDR::Set versions before 0.23 for Perl allow memory exhaustion and malformed set ranges via unbounded IPv6 prefix lengths. The _encode method accepts any prefix length matching `(0|[1-9][0-9]*)` and passes it to _width2bits(), which builds the mask as `'1' x ($width + 8)`, one character per bit. The _inc() method then unpacks the packed mask into a Perl array of one scalar per byte, so the prefix length alone sets the allocation size: `::/100000000` builds a 100 MB string and a 12.5 million element array. EPSS estimates a 0.35% chance of exploitation in the next 30 days.
Description
Net::CIDR::Set versions before 0.23 for Perl allow memory exhaustion and malformed set ranges via unbounded IPv6 prefix lengths. The _encode method accepts any prefix length matching `(0|[1-9][0-9]*)` and passes it to _width2bits(), which builds the mask as `'1' x ($width + 8)`, one character per bit. The _inc() method then unpacks the packed mask into a Perl array of one scalar per byte, so the prefix length alone sets the allocation size: `::/100000000` builds a 100 MB string and a 12.5 million element array. The value being tested is parsed, not just the configured ranges: contains() builds a set from its argument, and _guess_coder() tries the IPv4 coder and then the IPv6 coder, so an IPv4-only set expands an oversized IPv6 prefix length before the mixed address width check rejects it. Any caller that passes untrusted input to contains() or add() can exhaust process memory. A prefix length above 128 is also stored as a range that does not match the requested block: 2001:db8::/129 stringifies back unchanged, contains() of its own base address returns false, and removing it from a set drops the base address while the set still prints as covering it.
Metrics
Weakness Enumeration
Affected Software
Source: CNA advisory (CVE.org). NVD analysis pending.
| Vendor | Product | Versions |
|---|---|---|
| RRWO | Net::CIDR::Set | < 0.23 |
References
Timeline
- Published
- Last Modified
- Status
- Deferred
Frequently Asked Questions
What is CVE-2026-19566?
How severe is CVE-2026-19566?
How do I fix CVE-2026-19566?
How Strix Helps
- How Strix found a critical auth bypass in etcdStrix autonomously discovered a critical authentication bypass in etcd, later designated CVE-2026-33413.
- Autonomous PentestingAI agents that find and validate exploitable vulnerabilities like this one across your applications.
- PR ReviewsPentest every pull request so vulnerable code is caught before it ships to production.
- AI Penetration TestingHow AI-driven penetration testing continuously covers your attack surface.
Related CVEs from 2026
- CVE-2026-19559Use after free in HTML in Google Chrome prior to 151.0.7922.…8.8
- CVE-2026-19560Use after free in Blink in Google Chrome prior to 151.0.7922…8.8
- CVE-2026-19561Rejected reason: This CVE ID has been rejected or withdrawn …
- CVE-2026-19562Rejected reason: This CVE ID has been rejected or withdrawn …
- CVE-2026-19563Rejected reason: This CVE ID has been rejected or withdrawn …
- CVE-2026-19565Apache::AppSamurai::Util versions through 1.01 for Perl gene…3.7
- CVE-2026-19568A maliciously crafted SVG file, when parsed through Autodesk…7.8
- CVE-2026-19573The Affiliate Super Assistent plugin for WordPress is vulner…7.2
- CVE-2026-19579Snipe-IT before 8.6.0 contains an authorization bypass (inse…5.4
- CVE-2026-1958Use of hard-coded credentials in Klinika XP and KlinikaXP In…8.7
- CVE-2026-19582Rejected reason: Red Hat Product Security has come to the co…
- CVE-2026-19583Velociraptor allows some sensitive artifacts to be gated by …9.9
Are you affected by CVE-2026-19566?
Run a free Strix scan to check your systems for this vulnerability.
Scan your code nowSource: NVD / NIST
