CVE-2025-61766CVE-2025-61766是MediaWiki Bucket扩展中存在的一个拒绝服务(DoS)漏洞。该扩展是一个用于在MediaWiki文章上存储和检索结构化数据的工具。漏洞存在于版本1.0.0之前的Bucket扩展中,具体位于Expression模块的MemberOfExpression.php文件中。当用户使用`!=`(不等于)比较运算符查询bucket数据时,系统会触发无限递归调用,导致PHP的调用栈溢出和/或内存消耗急剧增加,最终造成拒绝服务攻击。该漏洞的CVSS 3.1评分为6.5,属于中危级别。攻击者需要具有低权限(已认证用户)即可通过网络远程发起攻击,无需用户交互。虽然该漏洞不会直接泄露敏感数据或破坏数据完整性,但其对系统可用性具有高影响,可能导致整个MediaWiki站点无法正常响应请求。该漏洞已于2025年10月6日公开披露,发现者为GitHub安全顾问团队,官方已在版本1.0.0中发布了修复补丁。
该漏洞的根本原因在于MemberOfExpression.php文件的第34行代码中,当处理`!=`(不等于)比较运算符时,缺少对递归深度的限制或终止条件的检查。具体而言,当Bucket扩展解析SMW(Semantic MediaWiki)查询表达式时,包含`!=`运算符的查询会被转换为一个递归处理逻辑。在某些边界条件下,例如当查询涉及自引用或循环引用的bucket数据时,递归函数会无限调用自身而无法终止。
从技术角度分析,PHP默认的调用栈深度有限(通常为100-250层),无限递归将导致"Maximum function nesting level reached"或"Fatal error: Allowed memory size exhausted"等致命错误。在Web环境中,这类致命错误会导致PHP进程崩溃或返回500错误,从而拒绝为合法用户提供服务。
攻击向量为网络(AV:N),攻击复杂度低(AC:L),所需权限为低权限(PR:L),这意味着任何已认证的MediaWiki用户(包括普通注册用户)都可以通过构造特殊的查询请求来触发该漏洞。由于不需要用户交互(UI:N),攻击者可以通过自动化脚本批量发送恶意查询请求,进一步加剧服务不可用的程度。漏洞的影响范围为变更(S:U),即仅限于触发该请求的组件,但可用性影响为高(A:H),可能导致整个MediaWiki实例不可用。