CVE-2026-33683WWBN AVideo是一个开源视频平台。在26.0及以下版本中,用户个人资料“关于”字段存在消毒操作顺序缺陷。任何注册用户都可以注入任意JavaScript,当其他用户访问其频道页面时执行。漏洞源于xss_esc()函数在strip_specific_tags()匹配危险HTML标签之前对输入进行实体编码,而输出时的html_entity_decode()反转了编码,恢复了原始恶意HTML。攻击者可利用此漏洞窃取用户凭证或执行恶意操作。
该漏洞的核心在于输入过滤函数的调用顺序不当。正常情况下,strip_specific_tags()应先移除危险的HTML标签(如<script>),然后xss_esc()应对剩余内容进行HTML实体编码以防止XSS。然而,在受影响版本中,xss_esc()先被调用,将<script>转换为<script>。随后strip_specific_tags()尝试匹配原始的<script>字符串,但由于输入已被编码,匹配失败,导致危险的实体编码字符串保留下来。当数据被输出到页面时,系统调用了html_entity_decode(),将<script>还原为<script>,导致浏览器将其解析为可执行代码。利用方式很简单:攻击者只需注册一个账号,在个人资料的“关于”字段中插入恶意JavaScript代码(如窃取Cookie的脚本)。由于过滤机制失效,该代码会被存储在数据库中。当管理员或其他用户访问攻击者的频道页面时,恶意脚本将在其浏览器上下文中执行,从而可能劫持会话或执行未授权操作。