CVE-2025-59837Astro是一个流行的Web框架,集成了图像代理功能。在5.13.4至5.13.9版本中,图像代理的域名验证机制存在安全缺陷,攻击者可以通过在href参数中插入反斜杠字符(\)来绕过域名白名单验证。由于某些URL解析库会将反斜杠视为正斜杠的等价物,攻击者可以利用这一特性构造恶意请求,迫使服务器向任意内部或外部URL发起请求。此漏洞可能导致敏感数据泄露、端口扫描、内部服务攻击等安全问题。此外,成功利用此漏洞还可能引发潜在的跨站脚本攻击(XSS)。该漏洞是CVE-2025-58179的不完全修复遗留问题。
Astro框架的图像优化功能提供了图像代理服务,允许开发者通过API获取优化后的图像。为防止滥用,该服务实现了域名白名单验证机制。然而,验证逻辑在处理URL时存在缺陷:使用反斜杠(\)替代正斜杠(/)的URL可以被某些URL解析器正确处理,但验证函数未能正确识别这种编码方式。例如,攻击者可以构造类似example.com\@evil.com的URL,绕过域名检查后被解析为@evil.com的URL,从而实现SSRF攻击。攻击者可以利用此漏洞访问内部服务(如localhost、192.168.x.x等内网地址)、扫描内网端口、或从云元数据服务获取敏感凭证。修复版本5.13.10对URL解析逻辑进行了加固,确保反斜杠和正斜杠在验证时被统一处理。