报告者:Marco Paciaroni (BomboBombone)。
MediaWiki 的 RESTBase 兼容修订响应可能包含已被隐藏作者的数字用户 ID。响应仍将 user_text 设置为 null 并将作者标记为隐藏,但泄露的 ID 可通过公开的用户查询 API 映射到账户。
未经身份验证的调用者可将故意隐藏的修订作者与其账户关联起来。该泄露需要存在作者字段被隐藏的修订,以及暴露核心 REST 修订路由的 wiki。
该脚本创建一个一次性的本地页面,隐藏其新修订的作者,在启用 RESTBase 兼容性的情况下比较标准 REST 响应,检查本地公开用户查询能否解析该 ID,并清理页面和修订状态。
仅可在回环地址上的隔离 MediaWiki 测试实例中运行。它拒绝非回环主机,并要求显式确认标志。它会提示输入测试账户密码,而不是在命令行中接受密码。
python poc.py --base http://127.0.0.1:8080 --username LocalAdmin --confirm-local-test
该账户需要有权编辑一次性页面并隐藏其修订作者(suppressrevision)。