Libnet-cidr-lite-perl
Уязвимости
5
Эксплуатируемые
0
Макс. CVSS
7.5
Макс. EPSS
0.00493
Распределение по критичности
Критический
0
Высокий
1
Средний
4
Низкий
0
Также сопоставлено как (исходные строки): libnet-cidr-lite-perl
Топ уязвимостей
CVE-2026-40198Net::CIDR::Lite версии до 0.23 для Perl не подтверждает количество групп IPv6, что может позволить обойти ACL IP.
_pack_ipv6() не проверяет, что несжатые IPv6 адреса (без ::) имеют ровно 8 групп. Принимаются такие входы, как «abcd», «1:2:2:3:3:3:5:7» и производят упакованные значения неправильной длины (3, 7 или 15 байтов вместо 17).
Упакованные значения используются внутри для маски и операций сравнения. find() и bin_find() используют сравнение строк Perl (lt/gt) на этих значениях, а сравнение строк различной длины дает неправильные результаты. Это может привести к тому, что find() неправильно сообщить адрес как внутри или снаружи диапазона.
Пример:
мой $cidr = Net::CIDR::Lite->new(::/8");
$cidr->find("1:2:3"); # неверный ввод, неправильно возвращает истинный
Это тот же класс вводной валидации, что и CVE-2021-47154 (IPv4 ведущие нули), ранее зафиксированный в этом модуле.
См. также CVE-2026-40199, связанный с этим вопросом в той же функции, затрагивающей IPv4, отображаемую IPv6-адресами.
CVE-2026-45191Net::CIDR::Lite версии до 0.24 для Perl не учитывают должным образом посторонние нулевые символы в значениях маски CIDR, что может позволить обойти APC.
Формы маски, такие как "/00" и "/01", пропускают валидацию и разбирают до той же префикса, что и их ненаполненное значение.
См. также CVE-2026-45190.
CVE-2026-45190Net::CIDR::Lite версии до 0.24 для Perl не вдается должным образом валидирует IP-адрес и входы маски CIDR, что может позволить обойти ACL IP.
Входы, содержащие задние новые или не-ASCII цифровые символы, проходят валидаторы, но затем повторно кодируются парсером на другой адрес, чем написанная строка ввода. find() и bin_find() могут в результате сопоставлять или пропускать адреса.
Пример:
мой $cidr = Нетто::CIDR::Lite->new();
$cidr->add("::1\n/128");
$cidr->find("::1a"); # неправильно возвращается истинным
См. также CVE-2026-45191.
CVE-2026-40199Net::CIDR::Lite версии до 0.23 для неправильных рукопожатий IPv4 адреса IPv6, которые могут позволить обойти ACL IP.
_pack_ipv6() включает в себя сторожевой байт от _pack_ipv4() при построении упакованного представления картированных адресов IPv4, таких как ::ffff:192.168.1.1. Это дает значение 18 байтов вместо 17 байтов, что смещает часть адреса IPv4.
Неправильная длина приводит к неправильным результатам операций с маской (бит-мукс и усечивает к более короткому операнду) и в find() / bin_find(), которые используют сравнение строк Perl (lt/gt). Это может привести к тому, что find() неправильно совпадает или пропускает адреса.
Пример:
мой $cidr = Net::CIDR::Lite->new(::ffff:192.168.1.0/120");
$cidr->find("::ffff:192.168.2.0"); # неправильно возвращается
Это вызвано действительными картографированными адресами RFC 4291 IPv4 (::ffff:x.x.x.x.x).
См. также CVE-2026-40198, связанный вопрос в той же функции, затрагивающий неправильно сформированные адреса IPv6.
CVE-2021-47154Модуль Net::CIDR::Lite до версии 0.22 для Perl неправильно учитывает посторонние нулевые символы в начале строки IP-адреса, что (в некоторых ситуациях) позволяет злоумышленникам обходить контроль доступа, основанный на IP-адресах.