CVE-2025-13621WordPress Dream Gallery插件是一款用于在WordPress网站上创建和管理图片画廊的插件。该插件在1.0及之前的所有版本中存在严重的跨站请求伪造(CSRF)漏洞。漏洞根源在于插件的AJAX处理程序'dreampluginsmain'缺少正确的nonce令牌验证机制。由于缺少这一关键的安全检查,攻击者可以构造恶意请求,诱骗已登录的网站管理员在不知情的情况下执行操作。成功利用此漏洞后,攻击者能够修改插件设置并注入恶意JavaScript代码。由于这些恶意脚本被存储在数据库中并在后续页面访问时执行,因此构成了存储型跨站脚本攻击(XSS)。任何访问受感染页面的用户都会受到恶意脚本的影响,可能导致会话劫持、凭据窃取、重定向到恶意网站等严重后果。
漏洞存在于WordPress Dream Gallery插件的dreamgallery.php文件第254行和第257行,以及front.php模板文件第38行附近。该插件在处理'dreampluginsmain'这个AJAX动作时,未对请求发起者进行有效的nonce验证。在WordPress插件开发中,wp_verify_nonce()函数用于验证请求的合法性,防止CSRF攻击。然而该插件的AJAX处理器直接处理请求而未调用此验证函数。攻击者可以构造一个HTML页面,包含自动提交的表单或JavaScript代码,向目标网站的wp-admin/admin-ajax.php端点发送POST请求。由于浏览器的同源策略,当管理员访问攻击者精心构造的页面时,浏览器会自动携带管理员的认证Cookie发送请求。服务器收到请求后,由于缺少nonce验证,直接执行了状态变更操作(如更新插件设置)。攻击者可以在设置值中嵌入<script>标签或事件处理器属性(如onerror、onload等),当其他用户访问包含画廊的页面时,这些恶意脚本会被执行。