CVE-2026-43875WWBN AVideo是一个开源视频平台,在29.0及以下版本中存在严重的安全漏洞。该漏洞源于OAuth登录流程的不安全实现。在用户完成OAuth登录时,系统会通过HTTP 302重定向将用户重定向到成功页面,但关键问题在于重定向的URL参数中直接包含了从数据库读取的用户密码哈希值。由于AVideo的登录接口支持直接传递哈希值进行认证,任何能够获取到该重定向URL(例如通过服务器日志、Referer头泄露或浏览器历史记录)的攻击者,都可以提取出密码哈希,并利用该哈希值直接登录系统,从而完全接管用户账户,包括管理员账户。
该漏洞的根本原因在于敏感信息(密码哈希)的不安全传输以及登录验证逻辑的缺陷。具体技术细节如下:首先,在`plugin/MobileManager/oauth2.php`文件中,OAuth登录成功后的处理逻辑存在设计失误。系统直接从数据库中查询用户的密码哈希(格式为md5(hash("whirlpool", sha1(password)))),并将其作为明文参数放置在HTTP 302重定向响应的`Location`头中,形如`oauth2Success.php?user=<email>&pass=<HASH>`。这种做法导致哈希值暴露在多个不安全的存储介质中。其次,AVideo的登录端点`objects/login.json.php`提供了一个`encodedPass=1`的参数机制。正常登录时,服务端会对用户输入的明文密码进行哈希运算;但当检测到`encodedPass=1`时,系统会跳过哈希运算步骤,直接将用户输入的`pass`参数值与数据库中存储的哈希值进行字符串比对。这意味着,攻击者只需从泄露的URL中截获`pass`参数的值,构造一个包含`user`、`pass`和`encodedPass=1`的POST请求发送至登录接口,即可绕过密码验证逻辑,成功获取该用户的Session,实现对系统的完全控制。CVSS 3.1评分为6.8,攻击向量为网络(AV:N),攻击复杂度高(AC:H),无需权限(PR:N),但需要用户交互(UI:R),对机密性和完整性影响较大。