CVE-2025-11763CVE-2025-11763是WordPress平台下Display Pages Shortcode插件存在的一个高危安全漏洞。该插件是一款用于在WordPress页面中显示其他页面内容的短代码工具,广泛应用于需要动态展示页面列表的场景。漏洞根源在于插件对用户输入的'column_count'参数缺乏充分的输入验证和输出转义处理,导致恶意脚本代码可以被存储到数据库中。当其他用户访问包含该恶意短代码的页面时,存储的JavaScript脚本将在受害者浏览器中执行,从而实现跨站脚本攻击。攻击者利用此漏洞可以窃取受害者的会话令牌、劫持用户账户、修改页面内容或重定向用户到恶意网站。由于该漏洞为存储型XSS,恶意代码会永久保存在服务器端,影响范围更广,危害更为严重。攻击者需要拥有WordPress网站 contributor级别或以上的账户权限即可利用此漏洞,这降低了攻击门槛,使得内部恶意用户或被入侵的账户都可能成为攻击源。
该漏洞存在于Display Pages Shortcode插件的短代码处理逻辑中,具体位于display-pages-shortcode.php文件的第513行和第517行附近。插件在处理[display-pages]短代码时,直接将用户提供的'column_count'参数值用于HTML渲染,而没有进行适当的输入清理和输出转义。攻击者可以通过构造恶意 payload,如在column_count参数中注入JavaScript代码(如:1'><script>alert(document.cookie)</script>),该代码会被保存到WordPress数据库中。当其他用户访问包含该短代码的页面时,WordPress会从数据库读取并渲染页面内容,此时恶意脚本会在用户的浏览器上下文中执行。由于插件的shortcode处理函数没有对column_count参数进行htmlspecialchars()或类似函数的转义处理,直接将该参数值插入到HTML表格的列数设置或相关DOM元素中,导致XSS漏洞。攻击者利用存储型XSS可以执行任意JavaScript代码,包括窃取管理员cookie、修改页面内容或进行进一步的攻击。修复方案需要在输出前对所有用户可控参数进行htmlspecialchars()转义,并添加输入验证限制参数类型和范围。