CVE-2025-14109AH Shortcodes是WordPress平台上一款常用的短代码插件,提供了便捷的页面布局和内容展示功能。该插件在1.0.2及之前版本中存在严重的存储型跨站脚本(XSS)漏洞。漏洞根源在于插件对用户输入的'column'短代码属性缺乏充分的输入清理和输出转义处理。攻击者仅需拥有WordPress网站的Contributor(贡献者)级别权限即可利用此漏洞,在文章或页面中注入恶意JavaScript脚本。由于是存储型XSS,恶意代码会被永久保存在数据库中,任何访问该页面的用户都会触发脚本执行。攻击者可借此窃取用户会话Cookie、劫持用户账户、执行任意操作或在用户浏览器中显示伪造内容。此漏洞CVSS评分6.4,属于中等严重程度,但由于攻击门槛低(只需低权限账户)且影响范围广(所有访问者),实际危害不容忽视。建议网站管理员立即升级到最新版本或采取临时缓解措施。
漏洞存在于AH Shortcodes插件的短代码处理逻辑中,具体位置在includes/shortcodes.php文件的第28行左右。当用户使用[column]短代码时,插件直接将column属性的值嵌入到HTML输出中,而未进行任何消毒或转义处理。攻击者可以通过构造如下payload实现XSS攻击:[column]<script>alert(document.cookie)</script>[/column]或使用事件处理器:[column]<img src=x onerror=alert('XSS')>[/column]。由于插件使用add_shortcode()函数注册短代码,处理后的内容会被WordPress保存到wp_posts表中。当其他用户访问包含恶意短代码的页面时,WordPress会调用do_shortcode()解析并渲染内容,此时恶意脚本被作为合法HTML输出到页面,浏览器将其作为可执行脚本处理。攻击者可利用此漏洞窃取管理员Cookie从而获得后台访问权限,或诱导管理员执行敏感操作。修复方案是在输出时使用esc_html()或esc_attr()函数对用户输入进行适当转义。