漏洞概述 漏洞编号: CVE-2026-58520 标题: UrlShortener defaults to ineffective validation open to third-party redirects 状态: Closed, Resolved 公开性: Public 安全级别: SECURITY 影响范围 项目标签: - Security-Team (Our Part is Done) - Security - MediaWiki-extensions-UrlShortener (Backlog) - MediaWiki-Platform-Team (Kanban Board) (In Progress) - SecTeam-Processed (Completed) - Patch-For-Review 修复方案 问题描述: - 有一个默认设置 ,旨在仅允许当前域名。然而,代码默认生成一个基于 的按需派生正则表达式,如 。 - 虽然自定义正则表达式正确设置了起始和结束锚点( 和 ),但默认值没有。 - 该漏洞自机制首次提交以来一直存在(commit 139579)。 建议解决方案: - 应用起始和结束锚点简单,但会破坏 和其他子域名。建议默认情况下,我们像在生产环境中一样,允许可选子域名: - 这将使安全补丁不成为破坏性更改,并与未来方向(T418430)保持一致,其中提案1将产生相同的行为。 POC代码 相关变更 Gerrit 中的相关变更: - SECURITY: Correctly handle imposter URLs with a default setup - SECURITY: Correctly handle imposter URLs with a default setup 其他信息 风险评级: Medium 作者隶属: WMF Product 相关对象: - 提及: T418430: Consolidate wgUrlShortenerAllowedDomains and wgUrlShortenerAllowedDomain (no regex in config) - 附件: 01-T418431.patch, 02-T418431.patch, F73034047: 01-T418431.patch, F77437708: 02-T418431.patch 评论和更新 Krinkle: 创建了任务,添加了订阅者,分配了项目,移动了任务状态。 DAlangi_WMF: 添加了订阅者,分配了任务,更改了任务状态,添加了项目,更新了补丁。 sbassett: 添加了评论,移动了任务状态,关闭了任务。 Metyles: 添加了订阅者,上传了补丁,合并了补丁,重命名了任务,更改了可见性和编辑策略。 最终状态 任务状态: Resolved 项目状态: Security Patch To Deploy, Patch-For-Review 补丁合并: Change #1306769, Change #1306770, Change #1306769, Change #1306770 版权信息 内容许可:Creative Commons Attribution-ShareAlike (CC BY-SA 4.0) 代码许可:GNU General Public License (GPL) 2.0 或更高版本