CVE-2026-41688Wallos个人订阅追踪器在4.8.4及之前版本中存在SSRF漏洞。尽管开发者尝试通过gethostbyname()验证webhook URL,但在11个出站HTTP端点中有10个未使用CURLOPT_RESOLVE进行IP固定。这种不完整的修复导致了DNS重绑定TOCTOU竞态窗口,攻击者可利用该漏洞绕过安全验证,致使服务器向内部网络发起恶意请求,目前尚无公开补丁。
该漏洞源于SSRF修复不完整导致的TOCTOU(Time-of-Check to Time-of-Use)竞态条件。Wallos在验证阶段使用gethostbyname()解析目标域名并检查IP地址合法性,若非内网地址则放行。然而,在后续的请求阶段,代码直接将原始主机名传递给cURL库,且未利用CURLOPT_RESOLVE选项将IP固定。关键问题在于,攻击者若控制恶意DNS服务器,可在验证通过后、cURL实际发起请求前的短暂时间窗口内,迅速更改DNS解析记录,将域名指向内网敏感地址(如127.0.0.1或云元数据服务IP)。由于cURL会重新解析或接收新的DNS响应,服务器最终向内网发起了未授权的请求,从而绕过了旨在阻断SSRF攻击的IP校验逻辑。