CVE-2026-43879WWBN AVideo 是一个开源视频平台。在 29.0 及其以下版本中,系统存在一个服务端请求伪造(SSRF)漏洞。已认证的用户可以配置其个人捐赠通知的 Webhook URL。由于系统仅对 URL 进行格式校验而未进行 SSRF 安全性检查,攻击者可以将该 URL 设置为指向内部网络地址(如 127.0.0.1 或元数据服务地址)。当任何用户触发捐赠操作时,服务器会向攻击者指定的内部地址发起 POST 请求,从而导致盲 SSRF 攻击。此外,由于启用了 CURLOPT_FOLLOWLOCATION,攻击者还可以利用 HTTP 307 重定向绕过初步限制,进一步扩大攻击面。
该漏洞源于 AVideo 平台在处理用户自定义捐赠通知 Webhook URL 时的验证逻辑缺陷。在受影响版本中,系统仅使用 `isValidURL()` 函数对用户提交的 URL 进行格式检查,而未调用代码库中已有的 `isSSRFSafeURL()` 函数进行安全性校验。这使得经过身份验证的攻击者可以将 Webhook URL 指向内部回环地址(如 http://127.0.0.1:8080)、RFC1918 私有网络地址或云实例元数据服务(如 http://169.254.169.254/latest/)。
漏洞触发机制依赖于捐赠流程。当攻击者配置好恶意 URL 后,只需通过 `plugin/CustomizeUser/donate.json.php` 发起一笔捐赠(即使是微小金额),AVideo 服务器后端便会使用 cURL 向该 URL 发送 POST 请求。由于缺乏对目标主机的过滤,服务器成为了攻击者探测内网的代理。
此外,利用链中还存在一个增强利用方式。cURL 配置中启用了 `CURLOPT_FOLLOWLOCATION` 且未进行逐跳重新验证。攻击者可以先设置一个指向受控外部服务器的 URL,该服务器返回 HTTP 307 重定向响应,将请求指向内部敏感目标。这种重定向绕过方式使得攻击更加隐蔽且难以被基础的 URL 过滤机制拦截。该问题已在 commit aaacd48f29f1ff71d1eb5fc81d37605f593cefa9 中得到修复。