CVE-2026-41687Wallos是一款开源的自托管个人订阅管理工具。在4.8.1版本之前,其订阅和支付端点在处理图标/Logo URL获取时存在服务端请求伪造(SSRF)漏洞。由于内联IP验证机制未正确过滤RFC 6598定义的CGNAT地址段(100.64.0.0/10),导致经过身份认证的攻击者可以利用该漏洞探测或攻击Tailscale、Carrier-Grade NAT等环境中的内部服务。该问题已在4.8.1版本中修复。
该漏洞的根本原因在于Wallos在`endpoints/subscription/add.php`和`endpoints/payments/add.php`文件中使用了不完整的IP验证逻辑。代码中使用了PHP的`FILTER_FLAG_NO_PRIV_RANGE`和`FILTER_FLAG_NO_RES_RANGE`标志来防止访问内网地址,但这些标志默认不包含运营商级NAT(CGNAT)地址段`100.64.0.0/10`。尽管项目中包含`includes/ssrf_helper.php`文件,定义了`is_cgnat_ip()`函数用于检测此范围,但受影响的端点并未调用该辅助函数,而是直接执行了存在缺陷的内联验证。因此,拥有低权限的攻击者可以通过提交包含`100.64.x.x`地址的URL,诱使服务器向内部服务发起请求,从而实现盲SSRF攻击。