CVE-2025-34437AVideo是一款开源视频管理平台,广泛用于构建私有视频分享网站和在线视频服务。该平台提供了视频上传、播放、管理以及评论功能,用户可以在视频下方发表文字评论并上传图片附件。然而,在20.1版本之前,AVideo存在一个严重的安全漏洞,允许任何已认证用户上传评论图片到其他用户拥有的视频资源中,而无需获得相应的授权许可。
该漏洞的根本原因在于评论图片上传接口的设计缺陷。系统在处理图片上传请求时,仅验证了用户的身份认证状态(确保请求来自已登录用户),但完全省略了对视频对象所有权的验证步骤。这意味着攻击者只需知道目标视频的标识符(Video ID),就可以向该视频提交评论并附带恶意图片文件,而不论该视频的实际所有者是谁。
这种类型的安全漏洞被称为IDOR(Insecure Direct Object Reference,不安全的直接对象引用),是OWASP Top 10中常见的Web应用安全风险之一。攻击者可以利用此漏洞向任意视频注入未经授权的评论图片内容,可能导致以下危害:传播恶意链接或钓鱼内容、散布虚假信息、植入隐蔽的恶意代码(通过图片隐写术)、以及造成平台内容污染严重影响用户体验和平台声誉。此外,攻击者还可以通过大量自动化请求实现批量攻击,进一步扩大影响范围。
AVideo的评论图片上传功能通过API端点处理HTTP POST请求。正常用户上传评论图片的流程如下:首先,用户登录平台获取会话认证;然后,用户访问目标视频页面并提交评论请求,同时附加上传的评论图片文件;最后,服务器接收请求并处理评论内容和图片文件。
漏洞存在于服务器端验证逻辑的缺失环节。当用户提交评论图片时,系统调用相关API接口(如/video comment add'或类似的评论处理函数),该接口在处理请求时执行了以下检查:检查用户是否已登录(session验证)、验证上传文件是否符合格式要求(如文件类型、大小限制)。然而,接口代码中缺少关键的所有权验证逻辑:没有检查当前登录用户是否有权限向指定视频ID提交评论,即没有验证视频所有者ID是否与当前用户ID匹配。
攻击者可以利用此漏洞的步骤:1)注册一个普通用户账号并登录平台;2)获取目标视频的标识符(通过浏览视频页面或API枚举);3)构造恶意请求,将目标视频ID作为参数,同时附上精心准备的图片文件;4)发送POST请求到评论图片上传端点;5)服务器因缺少所有权检查而接受请求,将图片存储并关联到目标视频的评论区域。
值得注意的是,即使评论内容本身可能需要通过额外的XSS过滤器,图片文件的直接存储和可访问性仍然构成了严重的安全风险,因为图片可以被嵌入到其他页面或通过社交工程手段传播。修复此漏洞需要在所有评论和图片上传操作中添加显式的所有权验证逻辑,确保用户只能操作自己拥有的资源的评论。