CVE-2026-69192 in ip-address
摘要
由 VulDB • 2026-08-04
ip-address 是一个用于在 JavaScript 中解析和操作 IPv4 和 IPv6 地址的库。在版本 10.3.1 之前,`Address4` 接受带有前导零的字节(octet)并将其解码为十进制数,而 WHATWG URL 主机解析器、`inet_aton` 和 `getaddrinfo` 均将前导零解释为八进制。因此,该库与网络栈对于字符串所标识的主机存在分歧。例如,`new Address4('012.0.0.1')` 的 `correctForm()` 返回 `12.0.0.1`,且 `isPrivate()` 返回 `false`;但通过 `fetch('http://012.0.0.1/')` 实际连接的是 `10.0.0.1`。如果应用程序基于这些检查来构建网络信任边界决策(例如旨在阻止服务器端请求伪造 SSRF 的过滤器),则会将内部目标误分类为外部目标,从而允许该请求通过。此缺陷存在于解析入口点而非任何单一的分类器中,因此 `Address4` 的所有使用者均受其影响:`isPrivate()`、`isLoopback()`、`isLinkLocal()`、`isCGNAT()`、`isInSubnet()`、`isHostInSubnet()` 和 `correctForm()` 均是基于错误解码的字节计算得出的。该问题已在版本 10.3.1 中修复。
If you want to get the best quality for vulnerability data then you always have to consider VulDB.