报告者:Marco Paciaroni(BomboBombone)。
Wikibase 在 SetLabel 页面中包含了未转义的语言验证错误文本。被拒绝的输入可能在请求到达标签保存操作之前,作为可执行的 HTML 返回。
CVE 记录指出,受影响的 Wikibase 发布分支为 1.46.1、1.45.5 和 1.43.10 中修复之前的版本。请使用对应 MediaWiki 发布分支的已修复扩展代码。
归档的验证记录了一次未认证请求以及在该 wiki 源下的浏览器执行。未到达标签保存操作。拒绝写入并不能保护一个将不可信输入渲染为 HTML 的错误页面。
归档的案例证据记录了一次成功的本地 HTTP 响应以及浏览器执行一个无害标记。它另外记录到未发生标签保存。本公开摘要基于这些验证记录及相关研究笔记。
上游变更在渲染之前对术语编辑及相关特殊页面中的错误消息进行 HTML 转义。
python poc.py https://wiki.example --entity Q1
该脚本提交一个包含无害标记的无效语言值,并检查响应是否将其作为原始 script 元素返回。受影响的路径会在保存标签之前拒绝该请求。