IPBUF安全漏洞报告
English
CVE-2025-13737 CVSS 4.3 中危

CVE-2025-13737 WordPress Nextend Social Login CSRF漏洞

披露日期: 2025-11-28

漏洞信息

漏洞编号
CVE-2025-13737
漏洞类型
跨站请求伪造(CSRF)
CVSS评分
4.3 中危
攻击向量
网络 (AV:N)
认证要求
无需认证 (PR:N)
用户交互
需要交互 (UI:R)
影响产品
Nextend Social Login and Register (WordPress插件)

相关标签

CSRF跨站请求伪造WordPressNextend Social Login社交登录认证绕过CVE-2025-13737WordPress插件漏洞

漏洞概述

CVE-2025-13737是WordPress平台Nextend Social Login and Register插件中的一个跨站请求伪造(CSRF)安全漏洞。该插件是一款广泛使用的社交登录解决方案,支持通过Facebook、Google等社交账号进行网站注册和登录。漏洞存在于插件的'unlinkUser'函数中,由于该函数缺少正确的nonce验证机制,导致攻击者可以伪造请求解绑用户的社交登录关联。攻击成功的前提条件是诱骗已登录的管理员或用户点击攻击者精心构造的恶意链接。由于社交登录通常与用户的重要账户绑定,解绑操作可能导致用户无法正常登录网站,影响网站的可用性和用户体验。攻击者无需任何认证即可发起攻击,但需要一定的社会工程技巧来诱导目标用户点击恶意链接。此漏洞影响该插件3.1.21及之前的所有版本,建议用户尽快升级到最新修复版本以消除安全风险。

技术细节

该漏洞的根本原因在于Nextend Social Login插件的'unlinkUser'函数缺少CSRF令牌(nonce)验证。CSRF攻击利用Web应用程序的身份验证机制,当用户已登录并持有有效会话时,攻击者通过构造恶意请求诱导用户浏览器向目标站点发送请求。由于浏览器会自动携带当前会话的Cookie信息,服务器无法区分正常请求和伪造请求。攻击者构造的恶意HTML页面包含一个自动提交的表单,目标地址指向WordPress站点中处理社交账号解绑的端点。当管理员或用户访问该页面时,浏览器自动发送请求,服务器因缺少nonce验证而执行解绑操作。具体技术细节显示,问题代码位于includes/provider.php文件的第772行附近,该函数直接处理解绑请求而未验证请求来源的有效性。攻击者可以通过电子邮件、社交媒体或即时通讯工具传播恶意链接,利用用户对可信站点的信任执行非自愿的操作。修复方案需要在'unlinkUser'函数中添加wp_verify_nonce()验证,确保请求来源于合法的管理后台。

攻击链分析

STEP 1
步骤1: 信息收集
攻击者收集目标WordPress网站使用的Nextend Social Login插件版本信息,确认版本 <= 3.1.21
STEP 2
步骤2: 构造恶意页面
攻击者创建包含自动提交表单的HTML页面,表单目标指向网站的admin-ajax.php端点,携带解绑社交账号所需参数
STEP 3
步骤3: 社会工程攻击
攻击者通过电子邮件、社交媒体、即时通讯等渠道向目标网站管理员或用户发送包含恶意链接的内容,诱导点击
STEP 4
步骤4: 请求执行
目标用户点击链接后,浏览器自动向目标网站发送POST请求,由于用户已登录且函数缺少nonce验证,请求被服务器接受
STEP 5
步骤5: 社交账号解绑
服务器执行unlinkUser函数,成功解绑用户之前绑定的社交登录账号,导致用户无法使用该社交账号登录
STEP 6
步骤6: 后续攻击
攻击者可能利用解绑后的状态,诱骗用户重新绑定攻击者控制的社交账号,从而接管用户账户

PoC / 利用代码

⚠️ 仅供安全研究
以下代码仅用于安全研究和授权测试,未经授权使用属于违法行为。
PoC
<!-- CSRF PoC for CVE-2025-13737 - Nextend Social Login unlinkUser CSRF --> <!DOCTYPE html> <html> <head> <title>Social Account Unlink</title> </head> <body> <h1>Click the button below to unlink your social account</h1> <!-- Auto-submit form targeting the vulnerable endpoint --> <form id="csrfForm" action="https://target-site.com/wp-admin/admin-ajax.php" method="POST"> <input type="hidden" name="action" value="nextend_social_login_unlink"> <input type="hidden" name="provider" value="facebook"> <input type="hidden" name="controller" value="social-login"> <button type="submit">Click Here</button> </form> <script> // Auto-submit without user interaction document.getElementById('csrfForm').submit(); </script> </body> </html>

影响范围

Nextend Social Login and Register <= 3.1.21 (所有版本)

防御指南

临时缓解措施
如果无法立即升级插件,可以通过以下方式临时缓解:1) 在WordPress配置中添加自定义CSRF保护中间件;2) 限制admin-ajax.php的访问来源;3) 临时禁用社交登录功能改用传统密码登录;4) 启用Wordfence等安全插件的CSRF防护功能;5) 加强对管理员账户的安全教育,提醒不要点击未知来源的链接。

参考链接

快速导航: 前沿安全 最新收录域名列表 最新威胁情报列表 最新网站排名列表 最新工具资源列表 最新CVE漏洞列表