CVE-2026-45190该漏洞存在于Perl模块Net::CIDR::Lite的0.24版本之前。由于该模块未能正确验证IP地址和CIDR掩码输入,攻击者可以利用包含尾随换行符或非ASCII数字字符的输入绕过IP访问控制列表(ACL)。问题在于输入通过验证后,解析器将其重新编码为与输入字符串不同的地址,导致`find()`和`bin_find()`函数错误匹配或遗漏地址。这可能导致未经授权的网络访问或安全策略失效。
该漏洞的核心成因是Net::CIDR::Lite模块在处理IP地址和CIDR掩码时,验证逻辑与解析逻辑存在不一致性。在受影响的版本(0.24之前)中,模块的输入验证器未能有效识别包含尾随换行符(`\n`)或非ASCII数字字符的输入,错误地将其判定为合法格式。然而,当这些经过“验证”的字符串传递给内部解析器时,解析器会对特殊字符进行不同的转义或重编码处理,导致最终生成的内存地址结构与原始输入字面量所代表的地址完全不同。攻击者利用这一差异,可以构造特定的恶意IP地址字符串。例如,向ACL中添加`::1\n/128`时,由于解析错误,该条目可能匹配到`::1a`等本不相关的地址。这直接导致了访问控制列表(ACL)的失效,攻击者可以通过发送特制的网络请求,绕过基于该模块构建的IP白名单或黑名单限制,从而访问受保护的内部资源或执行未授权的操作。