CVE-2025-14032CVE-2025-14032是WordPress Bold Timeline Lite插件中的一个存储型跨站脚本(Stored XSS)漏洞。该漏洞存在于插件的bold_timeline_group短代码中,由于对title参数缺乏充分的输入清理和输出转义处理,导致恶意脚本可以被永久存储在数据库中。攻击者利用此漏洞需要至少具有Contributor级别的WordPress用户权限,这意味着任何可以撰写或编辑文章的用户都可能成为潜在攻击者。存储型XSS的危险性在于恶意代码会被永久保存在服务器端,所有访问包含该短代码页面的用户都会自动执行攻击者注入的JavaScript脚本。攻击成功后,攻击者可以窃取用户会话Cookie、劫持用户账户、进行钓鱼攻击或传播恶意软件。由于该插件被广泛应用于WordPress网站,此漏洞可能影响大量使用该插件的网站。
该漏洞的技术根源在于Bold Timeline Lite插件在处理bold_timeline_group短代码的title参数时,未能对用户输入进行适当的HTML转义。在WordPress插件的bold_timeline_group_view.php文件的第79行,title参数被直接输出到HTML页面而未经过htmlspecialchars()或类似函数的转义处理。当用户提交包含恶意JavaScript代码的title参数(如<script>alert(document.cookie)</script>)时,这些代码会被原样存储在WordPress的postmeta表中,并在页面渲染时未经任何过滤地输出到前端。攻击者可以通过WordPress后台的任意内容编辑功能插入包含恶意代码的短代码[bold_timeline_group title='<script>恶意代码</script>'],该代码将随页面内容永久存储,每次有用户访问该页面时都会触发执行。这种存储型XSS不需要任何特殊的网络请求或技术手段,只要攻击者拥有基本的WordPress写作权限即可实施攻击。