CVE-2025-47912CVE-2025-47912是Go语言标准库net/url包中的一个安全漏洞。该漏洞存在于URL解析函数Parse中,攻击者可利用RFC 3986规范的实现缺陷,在URL的主机组件中注入非IPv6地址内容。根据RFC 3986标准,IPv6地址应使用方括号包裹,例如http://[::1]/,但IPv4地址和主机名不得使用方括号格式。然而Go的Parse函数未能正确实施这一限制,导致允许任意值出现在方括号内。此漏洞可能影响依赖URL解析进行安全决策的应用程序,如URL白名单验证、重定向处理、代理服务等场景。攻击者可通过构造特殊的恶意URL绕过安全检查,执行未授权操作或访问受限资源。
该漏洞源于Go语言net/url包的Parse函数对RFC 3986规范的实现不完整。RFC 3986明确规定,主机组件中的方括号仅用于包裹IPv6地址,IPv4地址和普通主机名必须直接书写不得使用方括号。然而Parse函数在解析URL时,未正确验证方括号内的内容是否属于有效的IPv6地址格式。攻击者可构造形如http://[192.168.1.1]/或http://[example.com]/的URL,这类URL在RFC规范中属于非法格式,但Go的解析器会错误地接受并处理。由于Go被广泛应用于服务器端开发、云原生应用和网络工具中,此漏洞可能影响大量依赖URL解析进行安全验证的系统。攻击者可能利用此漏洞绕过URL过滤机制、进行钓鱼攻击或访问内部服务。