{"id":"CVE-2026-40198","state":"PUBLISHED","title":"Net::CIDR::Lite versions before 0.23 for Perl does not validate IPv6 group count, which may allow IP ACL bypass","description":"Net::CIDR::Lite versions before 0.23 for Perl does not validate IPv6 group count, which may allow IP ACL bypass.\n\n_pack_ipv6() does not check that uncompressed IPv6 addresses (without ::) have exactly 8 hex groups. Inputs like \"abcd\", \"1:2:3\", or \"1:2:3:4:5:6:7\" are accepted and produce packed values of wrong length (3, 7, or 15 bytes instead of 17).\n\nThe packed values are used internally for mask and comparison operations. find() and bin_find() use Perl string comparison (lt/gt) on these values, and comparing strings of different lengths gives wrong results. This can cause find() to incorrectly report an address as inside or outside a range.\n\nExample:\n\n  my $cidr = Net::CIDR::Lite->new(\"::/8\");\n  $cidr->find(\"1:2:3\");  # invalid input, incorrectly returns true\n\nThis is the same class of input validation issue as CVE-2021-47154 (IPv4 leading zeros) previously fixed in this module.\n\nSee also CVE-2026-40199, a related issue in the same function affecting IPv4 mapped IPv6 addresses.","publishedAt":"2026-04-10T21:42:06.835Z","updatedAt":"2026-04-13T14:41:59.967Z","severity":{"score":7.5,"label":"High","version":"3.1","vector":"CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:H/A:N","source":"CISA-ADP"},"assigner":"CPANSec","products":["STIGTSP Net::CIDR::Lite"],"affected":[{"vendor":"STIGTSP","product":"Net::CIDR::Lite","packageName":"Net-CIDR-Lite","defaultStatus":"unaffected","versions":[{"version":"0","status":"affected","lessThan":"0.23","versionType":"custom"}],"collectionURL":"https://cpan.org/modules","programFiles":["Lite.pm"],"programRoutines":[{"name":"Net::CIDR::Lite::_pack_ipv6"}],"repo":"https://github.com/stigtsp/Net-CIDR-Lite"}],"references":["https://github.com/stigtsp/Net-CIDR-Lite/commit/25d65f85dbe4885959a10471725ec9d250a589c3.patch","https://metacpan.org/release/STIGTSP/Net-CIDR-Lite-0.23/changes","https://www.cve.org/CVERecord?id=CVE-2026-40199"],"weaknesses":["CWE-1286"],"ingestedAt":"2026-10-29T20:11:57.932Z","source":{"repository":"CVEProject/cvelistV5","path":"cves/2026/40xxx/CVE-2026-40198.json","commit":"556c9d3a8cd17e218bb8e452ba7cd619a384ff47"},"raw":{"dataType":"CVE_RECORD","dataVersion":"5.2","cveMetadata":{"cveId":"CVE-2026-40198","state":"PUBLISHED","datePublished":"2026-04-10T21:42:06.835Z","dateUpdated":"2026-04-13T14:41:59.967Z","assignerShortName":"CPANSec","assignerOrgId":"9b29abf9-4ab0-4765-b253-1875cd9b441e","dateReserved":"2026-04-09T22:12:06.334Z"},"containers":{"cna":{"title":"Net::CIDR::Lite versions before 0.23 for Perl does not validate IPv6 group count, which may allow IP ACL bypass","descriptions":[{"lang":"en","value":"Net::CIDR::Lite versions before 0.23 for Perl does not validate IPv6 group count, which may allow IP ACL bypass.\n\n_pack_ipv6() does not check that uncompressed IPv6 addresses (without ::) have exactly 8 hex groups. Inputs like \"abcd\", \"1:2:3\", or \"1:2:3:4:5:6:7\" are accepted and produce packed values of wrong length (3, 7, or 15 bytes instead of 17).\n\nThe packed values are used internally for mask and comparison operations. find() and bin_find() use Perl string comparison (lt/gt) on these values, and comparing strings of different lengths gives wrong results. This can cause find() to incorrectly report an address as inside or outside a range.\n\nExample:\n\n  my $cidr = Net::CIDR::Lite->new(\"::/8\");\n  $cidr->find(\"1:2:3\");  # invalid input, incorrectly returns true\n\nThis is the same class of input validation issue as CVE-2021-47154 (IPv4 leading zeros) previously fixed in this module.\n\nSee also CVE-2026-40199, a related issue in the same function affecting IPv4 mapped IPv6 addresses."}],"affected":[{"vendor":"STIGTSP","product":"Net::CIDR::Lite","packageName":"Net-CIDR-Lite","defaultStatus":"unaffected","versions":[{"version":"0","status":"affected","lessThan":"0.23","versionType":"custom"}],"collectionURL":"https://cpan.org/modules","programFiles":["Lite.pm"],"programRoutines":[{"name":"Net::CIDR::Lite::_pack_ipv6"}],"repo":"https://github.com/stigtsp/Net-CIDR-Lite"}],"references":[{"url":"https://github.com/stigtsp/Net-CIDR-Lite/commit/25d65f85dbe4885959a10471725ec9d250a589c3.patch","tags":["patch"]},{"url":"https://metacpan.org/release/STIGTSP/Net-CIDR-Lite-0.23/changes","tags":["release-notes"]},{"url":"https://www.cve.org/CVERecord?id=CVE-2026-40199","tags":["related"]}],"problemTypes":[{"descriptions":[{"cweId":"CWE-1286","description":"CWE-1286 Improper Validation of Syntactic Correctness of Input","lang":"en","type":"CWE"}]}],"providerMetadata":{"shortName":"CPANSec","orgId":"9b29abf9-4ab0-4765-b253-1875cd9b441e","dateUpdated":"2026-04-10T21:42:06.835Z"},"solutions":[{"lang":"en","value":"Upgrade to version 0.23 or newer, or apply the patch provided."}],"source":{"discovery":"UNKNOWN"},"timeline":[{"lang":"en","time":"2026-04-09T00:00:00.000Z","value":"Vulnerability found"},{"lang":"en","time":"2026-04-10T00:00:00.000Z","value":"Net-CIDR-Lite version 0.23 released"}],"x_generator":{"engine":"cpansec-cna-tool 0.1"}},"adp":[{"title":"CISA ADP Vulnrichment","metrics":[{"cvssV3_1":{"scope":"UNCHANGED","version":"3.1","baseScore":7.5,"attackVector":"NETWORK","baseSeverity":"HIGH","vectorString":"CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:H/A:N","integrityImpact":"HIGH","userInteraction":"NONE","attackComplexity":"LOW","availabilityImpact":"NONE","privilegesRequired":"NONE","confidentialityImpact":"NONE"}},{"other":{"type":"ssvc","content":{"timestamp":"2026-04-13T14:41:19.772152Z","id":"CVE-2026-40198","options":[{"Exploitation":"none"},{"Automatable":"yes"},{"Technical Impact":"partial"}],"role":"CISA Coordinator","version":"2.0.3"}}}],"providerMetadata":{"shortName":"CISA-ADP","orgId":"134c704f-9b21-4f2e-91b3-4a467353bcc0","dateUpdated":"2026-04-13T14:41:59.967Z"}}]}}}