CVE-2025-15486Kunze Law是WordPress的一个法律信息展示插件,该插件在所有版本至2.1存在严重的安全漏洞。漏洞的根本原因是插件从远程服务器获取HTML内容后,在未进行任何输入清理或输出转义的情况下直接注入到页面中。这使得具有管理员级别权限的认证攻击者能够通过插件的shortcode功能注入任意Web脚本。当其他用户访问被注入恶意代码的页面时,这些脚本将自动执行,可能导致会话劫持、敏感信息窃取等严重后果。该漏洞仅影响多站点WordPress安装以及禁用了unfiltered_html功能的单站点安装。此外,攻击者还可以利用短代码名称参数中的路径遍历漏洞,将恶意HTML文件写入服务器上的任意可写目录,进一步扩大攻击面。
漏洞主要存在于插件的两个核心功能中。首先是远程内容获取和注入机制,插件在kunze-law.php的第406行附近实现了从远程URL获取HTML内容的逻辑,获取后的内容直接通过do_shortcode或类似方式输出到页面,完全跳过了WordPress的sanitize和escape函数。其次是短代码名称参数处理,插件在第531行附近处理shortcode_name参数时,未对用户输入进行路径规范化检查,导致攻击者可以使用../进行目录遍历。攻击者首先需要获取WordPress管理员账户权限,然后通过WordPress后台或API构造包含恶意JavaScript代码的HTML页面托管在远程服务器,最后利用插件shortcode引用该恶意页面。存储型XSS payload会在页面加载时自动执行。对于路径遍历利用,攻击者可以通过构造特殊的shortcode_name参数值,将任意HTML内容写入服务器文件系统。这种组合攻击方式使得攻击者不仅能窃取用户cookie和会话信息,还能在服务器上部署后门文件。