CVE-2025-10700CVE-2025-10700是WordPress平台上一款名为Ally – Web Accessibility & Usability(无障碍与可用性)插件中存在的跨站请求伪造(CSRF)安全漏洞。该漏洞由Wordfence安全团队的研究人员发现并于2025年10月16日公开披露。根据NVD(美国国家漏洞数据库)发布的CVSS 3.1评分标准,该漏洞获得4.3分,属于中等严重级别。
Ally插件是一款广泛用于WordPress网站的无障碍辅助工具,旨在帮助网站管理员提升网站的可用性和无障碍访问能力,使其符合WCAG(Web内容无障碍指南)等相关标准。该插件提供了多种辅助功能,例如文本大小调整、对比度调整、屏幕阅读器优化等。然而,正是这样一个旨在提升用户体验的插件,却因为在关键功能实现上缺乏安全防护措施而引入了安全风险。
该漏洞的核心问题在于插件中的enable_unfiltered_files_upload函数缺少正确的nonce(随机数令牌)验证机制。在WordPress安全体系中,nonce是一种用于防止CSRF攻击的重要安全机制,它确保请求来源于合法的用户操作而非恶意第三方构造的伪造请求。当插件在处理敏感操作(如文件上传配置)时未正确实施nonce验证,就会导致未经身份验证的攻击者能够通过精心构造的恶意页面,诱骗已登录的管理员点击链接或访问特定页面,从而以管理员权限执行未经授权的操作。
此漏洞的危害在于,攻击者可以利用它启用WordPress的非过滤文件上传功能,并向文件上传列表中添加SVG文件。SVG文件本质上是一种基于XML的矢量图形格式,但它可以包含JavaScript代码,这意味着上传恶意SVG文件后,攻击者可能进一步实施存储型跨站脚本攻击(Stored XSS)或其他更危险的操作,对网站安全和用户数据构成严重威胁。
该漏洞的技术根源在于Ally插件在处理enable_unfiltered_files_upload函数时,缺少对WordPress nonce机制的正确验证。在WordPress开发中,wp_create_nonce()函数用于生成一次性令牌,check_admin_referer()或check_ajax_referer()函数用于验证令牌的合法性,这是防御CSRF攻击的标准做法。
当用户(特别是具有管理员权限的用户)在已登录WordPress后台的情况下访问包含恶意代码的网页时,攻击者可以利用浏览器自动发送Cookie的特性,通过HTML表单或JavaScript的fetch/XMLHttpRequest发起伪造的跨域请求。由于目标站点(WordPress网站)的身份验证Cookie会自动随请求发送,且目标服务器未验证请求是否包含合法的nonce令牌,服务器会误认为该请求是合法管理员发起的操作。
具体到本漏洞,攻击者可以构造一个自动提交的HTML表单或JavaScript代码,向WordPress的admin-ajax.php端点发送包含特定参数的POST请求,调用enable_unfiltered_files_upload函数。一旦成功,攻击者就可以启用WordPress的非过滤文件上传功能(通常需要管理员权限),并向允许上传的文件类型列表中添加SVG格式。
值得注意的是,虽然该漏洞需要用户交互(UI:R),即需要管理员点击恶意链接或访问恶意页面,但攻击的发起者无需任何身份认证(PR:N),且可以通过网络远程发起攻击(AV:N),这使得该漏洞在实际环境中具有较高的可利用性。攻击复杂度为低(AC:L),因为利用过程相对简单,不需要特殊条件。
成功利用此漏洞后,攻击者将能够上传恶意SVG文件,而SVG文件中可以嵌入JavaScript脚本,从而实现存储型XSS攻击,进一步窃取管理员Cookie、会话令牌或其他敏感信息,甚至完全控制受影响的WordPress网站。