CVE catalog

CVE-2026-19566

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]*)

[CVE catalog]

Severity
High · CVSS 7.5CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H
Published
Source
[NVD] · [CVE record]
EPSS
0.63% · Oct 25, 2026

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.

Vulnerable and fixed packages

Distribution-reported package versions and fixes. These do not depend on matching against the OpenFactory package catalog.

DistributionPackageReleaseVersionStatus
Debianlibnet-cidr-set-perlsid0.23-1fixed
Debianlibnet-cidr-set-perlforky0.23-1fixed
Debianlibnet-cidr-set-perltrixie0.15-1+deb13u1vulnerable
Debianlibnet-cidr-set-perlbookworm0.13-4vulnerable
Opensuseperl-Net-CIDR-Settumbleweed0.230.0-1.1fixed

Fixed-version evidence

DistributionPackageTypeReleaseFixed versionUrgencyOriginBugs
Debianlibnet-cidr-set-perlsourcesid0.23-1not yet assignedNot reportedNot reported
Debianlibnet-cidr-set-perlsourceforky0.23-1not yet assignedNot reportedNot reported
Debianlibnet-cidr-set-perlsourcetrixie(unfixed)not yet assignedNot reportedNot reported
Debianlibnet-cidr-set-perlsourcebookworm(unfixed)not yet assignedNot reportedNot reported
Opensuseperl-Net-CIDR-Setrpmtumbleweed0.230.0-1.1Not reportedOPENSUSE-SU-2026:11550-1Not reported

Notes

[trixie] libnet-cidr-set-perl: Minor issue [bookworm] libnet-cidr-set-perl: Minor issue

OpenFactory catalog packages

[Debian 12 (Bookworm)]

  • Details (2)
    • 0.13-4 · all · bookworm

      Affected

      nvd · libnet-cidr-set-perl · debian · bookworm; nvd · libnet-cidr-set-perl · debian · 12

    • 0.13-4 · all · bookworm

      Affected

      nvd · libnet-cidr-set-perl · debian · bookworm; nvd · libnet-cidr-set-perl · debian · 12

[Debian 13 (Trixie)]

  • Details (2)
    • 0.15-1 · all · trixie

      Affected

      nvd · libnet-cidr-set-perl · debian · 13

    • 0.15-1 · all · trixie

      Affected

      nvd · libnet-cidr-set-perl · debian · 13

[openSUSE Tumbleweed]

  • Source package: [perl-Net-CIDR-Set]

    Details (1)
    • 0.230.0-1.1 · noarch · tumbleweed

      Fixed · Fixed: 0.230.0-1.1

      nvd · perl-Net-CIDR-Set · opensuse · tumbleweed

Observed:

References