CVE-2017-20239MDwiki 存在一处跨站脚本(XSS)安全漏洞,允许远程攻击者利用 location hash 参数注入恶意代码。攻击者可构造特制的 URL 链接,在哈希片段中植入 JavaScript 有效载荷。当受害者访问该链接时,MDwiki 会在未经充分清理的情况下解析并渲染该内容,导致恶意脚本在受害者的浏览器上下文中自动执行。此漏洞可被用于窃取会话 Cookie、重定向用户或执行其他客户端攻击行为。
该漏洞属于典型的基于 DOM 的跨站脚本漏洞(DOM XSS)。其根本原因在于 MDwiki 前端 JavaScript 代码在处理 URL 片段标识符(即 Location Hash)时缺乏有效的安全验证机制。具体而言,当用户访问包含特定 hash 参数的 URL 时,应用会读取 `window.location.hash` 的值,并尝试将其解析为页面导航或内容渲染的一部分。在这个过程中,应用程序直接将未经过滤的字符串动态插入到 DOM 树中,未进行 HTML 实体编码或使用安全的 DOM API。攻击者可利用此缺陷,构造包含恶意 HTML/JavaScript 标签的 URL(例如利用 `<img>` 标签的 `onerror` 事件)。由于哈希部分内容仅由客户端处理,传统的服务器端防火墙往往难以拦截,增加了攻击的隐蔽性和成功率。