CVE-2025-14057Multi-column Tag Map是WordPress平台上一款流行的标签管理插件,用于在多列布局中展示文章标签。然而,该插件在17.0.39及之前的所有版本中存在严重的存储型跨站脚本(Stored XSS)漏洞。漏洞的根本原因在于插件的管理后台设置页面缺乏足够的输入过滤(input sanitization)和输出转义(output escaping)机制。攻击者利用该漏洞可以在管理员后台设置中注入恶意JavaScript代码,这些恶意代码会被永久存储在数据库中。当其他管理员或用户访问包含恶意脚本的页面时,攻击代码便会在受害者浏览器中执行,从而窃取会话Cookie、劫持管理员账户或进行其他恶意操作。值得注意的是,此漏洞仅影响多站点(Multi-site)安装环境以及禁用了unfiltered_html功能的WordPress单站点安装。
该漏洞位于插件的mctagmap-options.php文件(约第65行)和mctagmap_functions.php文件(约第1845行)中。在管理后台的选项设置页面,插件直接接收用户输入而未进行充分的HTML标签过滤和特殊字符转义处理。当管理员在插件设置中保存包含恶意脚本的内容时,这些内容会被直接写入WordPress数据库而未经过sanitize或esc_html等安全函数处理。在后续页面渲染过程中,存储的恶意代码未经转义直接输出到HTML页面中,形成存储型XSS攻击向量。由于插件在多列标签展示功能中会读取并显示这些设置内容,任何访问相关页面的用户都会触发恶意脚本执行。攻击者可通过构造特定的payload(如:<img src=x onerror=alert(document.cookie)>)注入JavaScript代码,实现会话劫持、敏感信息窃取等攻击目的。