CVE-2025-12416Pagerank Tools是WordPress平台上广泛使用的一款用于显示网站PageRank的工具插件。该插件在1.1.5及之前版本中存在严重的安全漏洞,攻击者可以利用跨站请求伪造(CSRF)结合存储型跨站脚本(XSS)攻击来入侵使用该插件的WordPress网站。漏洞的根本原因在于pr_save_settings()函数缺少必要的nonce令牌验证机制,同时对用户输入的数据缺乏充分的输入清理和输出转义。攻击者只需要构造一个恶意链接或网页,诱骗网站管理员点击,即可通过伪造的请求在插件设置页面中注入任意JavaScript代码。由于注入的恶意脚本会永久存储在数据库中,当任何用户访问插件设置页面时都会触发执行,可能导致会话劫持、敏感信息窃取、管理员账号被盗等严重后果。考虑到WordPress在全球网站中的高市场份额,该漏洞影响范围广泛,需尽快采取修复措施。
该漏洞属于存储型XSS与CSRF的组合利用。漏洞点位于Pagerank Tools插件的settings功能模块,具体为functions.inc.php文件中的pr_save_settings()函数。该函数在处理用户提交的设置参数时,直接将请求参数保存到WordPress数据库的wp_options表中,完全跳过了WordPress的安全验证机制:首先,缺少wp_verify_nonce()进行请求来源验证,使得攻击者可以在任意站点构造恶意表单并诱导已登录的管理员提交;其次,缺少sanitize_text_field()等WordPress安全函数的输入清理,导致攻击者可以在设置值中嵌入<script>标签或其他HTML/JS代码。攻击成功后,恶意代码将以插件设置的形式永久存储在数据库中,每当管理员或具有相关权限的用户访问插件设置页面时,浏览器会解析并执行这些恶意脚本。由于管理员具有高权限,攻击者可进一步利用JavaScript实现管理员账户创建、数据库内容读取、恶意插件上传等高危操作。