CVE-2026-43873WWBN AVideo是一个开源的视频托管平台。在29.0及以下版本中,其CloneSite插件存在严重的信息泄露漏洞。具体而言,`plugin/CloneSite/cloneClient.json.php`文件在处理未认证请求时,由于错误处理逻辑的缺陷,会将用于站点间通信认证的共享密钥直接回显在HTTP响应体中。该密钥通常是基于系统路径和盐值生成的MD5值。攻击者无需任何身份认证即可通过网络请求获取此密钥。在AVideo配置了远程克隆URL的标准联邦或备份场景下,泄露的密钥正是受害者向远程服务器进行身份验证的凭证。攻击者利用该密钥可以冒充受害者服务器,向远程克隆服务器发送请求,从而触发远程数据库的完整mysqldump转储,并将备份文件保存到公开可访问的目录中,导致极其敏感的数据泄露。
该漏洞的核心技术问题位于`plugin/CloneSite/cloneClient.json.php`文件中。代码逻辑设计用于验证请求者是否持有有效的共享密钥。当接收到未提供有效密钥的请求时,程序进入错误处理分支。本意是拒绝非管理员调用,但在构造拒绝响应消息时,代码错误地将预期的密钥值(`$objClone->myKey`)直接内插到了响应字符串中,随后才调用`die()`函数终止执行。这意味着,任何针对该端点的HTTP请求(即便是未认证的恶意请求)都会导致服务器在返回错误的同时,泄露正确的认证凭证。
在受影响的AVideo部署架构中,管理员通常会配置`cloneSiteURL`以实现站点联邦或远程备份功能。此时,受害者的本地`myKey`是其向远程克隆服务器(`cloneServer.json.php`)证明身份的唯一凭证。由于密钥生成算法依赖于`$global['systemRootPath']`和`$global['salt']`,且被错误泄露,攻击者获取该密钥后,便拥有了与受害者服务器同等的权限。
攻击链的下一步是利用泄露的密钥向远程服务器的`cloneServer.json.php`接口发送伪造请求。远程服务器接收到请求后,验证`myKey`匹配,从而误认为请求来自合法的受害服务器。随后,远程服务器会执行`mysqldump`操作,将整个数据库导出。根据系统配置,导出的SQL文件通常被保存到`videos/clones/`目录下,该目录往往可以通过公网直接访问。这导致攻击者不仅窃取了认证凭证,还利用该凭证实现了对远程数据库的完整拉取,造成了严重的数据失窃风险。修复该漏洞的提交记录为e6566f56a28f4556b2a0a09d03717a719dcb49da。