CVE-2025-67646TableProgressTracking是一款用于MediaWiki的扩展程序,主要功能是跟踪特定标准(criterion)的进度。该扩展的1.2.0及更早版本在REST API实现中存在严重的安全缺陷,未对用户请求进行CSRF(Cross-Site Request Forgery,跨站请求伪造)token验证。这一设计漏洞使得攻击者能够利用已认证用户的身份,在用户不知情的情况下执行未授权的操作。攻击者通过构造恶意网页并诱导目标wiki的认证用户访问,即可触发针对该扩展API的恶意请求,成功利用后可删除表格数据或篡改进度跟踪记录。由于该漏洞需要用户交互且需要目标网站认证状态,因此攻击复杂度较低但实际危害有限。此漏洞已于1.2.1版本中通过添加CSRF token验证机制得到修复。
该漏洞的根本原因在于TableProgressTracking扩展的REST API端点缺少CSRF保护机制。在Web应用程序安全实践中,CSRF token是防止跨站请求伪造攻击的标准手段,通常要求在执行敏感操作前验证请求中携带的token值。然而该扩展在实现delete和track progress等关键API功能时,未对请求来源进行有效验证。攻击者利用此漏洞时,首先需要识别目标wiki站点上TableProgressTracking扩展的REST API端点URL(通常为/api/rest.php/tableprogresstracking/*),然后构造包含恶意请求参数的HTML页面。当认证用户访问该页面时,浏览器会自动携带用户的认证cookie向目标API发送POST请求。由于浏览器会默认发送同源cookie,API服务器会认为这是来自合法用户的正常请求,从而执行攻击者预设的操作(如删除表格或修改进度数据)。攻击成功的前提是用户处于已登录状态且访问了攻击者构造的恶意页面。