CVE-2026-41061WWBN AVideo是一个广泛使用的开源视频平台。在29.0及以下版本中存在一个安全漏洞,攻击者利用`isValidDuration()`函数正则表达式校验不严的缺陷,能够在视频时长字段注入恶意HTML/JavaScript脚本。这些脚本被持久化存储后,当其他用户访问趋势页面、播放列表或视频画廊时即可触发,造成存储型跨站脚本攻击,可能窃取用户会话信息。
该漏洞的核心在于`objects/video.php`第918行的`isValidDuration()`函数。该函数使用正则表达式`/^[0-9]{1,2}:[0-9]{1,2}:[0-9]{1,2}/`来验证视频时长格式。由于正则表达式末尾缺少`$`结束锚点,它仅检查字符串开头是否匹配时间格式(如12:34:56),而忽略后续内容。攻击者因此可以在合法时间后追加`<script>`等恶意标签。数据被存入数据库后,前端在渲染趋势页、播放列表等页面时,直接调用`Video::getCleanDuration()`并输出未经过滤的时长数据,导致恶意脚本在受害者浏览器中执行。