CVE-2025-10376CVE-2025-10376是WordPress平台上一款名为"Course Redirects for Learndash"的插件中存在的跨站请求伪造(Cross-Site Request Forgery, CSRF)安全漏洞。该插件主要用于在Learndash在线课程系统中实现课程页面重定向功能,允许管理员配置用户访问课程时的跳转规则。漏洞影响该插件所有版本,最高至0.4版本(含0.4版本)。该漏洞由WordPress安全团队Wordfence的安全研究员发现并报告,于2025年10月11日正式公开披露。根据CVSS 3.1评分体系,该漏洞获得4.3分的评分,属于中等严重等级。漏洞的核心问题在于插件设置页面处理表单提交时,未对请求进行Nonce(Number used once)验证机制。Nonce是WordPress中用于防止CSRF攻击的标准安全机制,通过在表单中嵌入一次性令牌来验证请求的合法性。由于该插件缺失这一关键防护层,使得未经身份验证的远程攻击者可以构造恶意请求,诱骗已登录的管理员点击特定链接或访问恶意页面,从而在管理员不知情的情况下修改插件的配置设置。尽管该漏洞需要管理员的交互操作才能触发(属于存储型或反射型CSRF),但由于WordPress站点管理员通常具有较高权限,攻击成功后可能导致课程重定向规则被恶意篡改,进一步影响站点的正常运营和用户体验。需要注意的是,该漏洞仅影响插件设置的完整性,对系统机密性和可用性影响有限。
该漏洞的技术根源在于WordPress插件开发中常见的安全疏忽——未实施CSRF防护机制。在WordPress生态系统中,标准的CSRF防护通过Nonce机制实现:插件在渲染设置页面时生成一个唯一的Nonce令牌,并将其嵌入到表单的隐藏字段中;当表单提交时,服务器端会验证该Nonce令牌的有效性,确保请求来源于合法的用户操作。然而,Course Redirects for Learndash插件的redirect_course.php文件中(具体在第76行附近),处理表单提交的代码逻辑直接接收POST/GET参数并更新插件设置,完全跳过了wp_verify_nonce()或check_admin_referer()等关键验证函数。攻击者利用此漏洞的方式如下:首先,攻击者分析目标站点的插件设置页面,识别出用于修改重定向规则的参数名称(如redirect_url、course_id等);然后构造一个恶意HTML页面,其中包含一个自动提交或隐藏的表单,该表单的action指向目标站点的插件设置处理URL,并填入恶意的重定向配置;接着通过社会工程学手段(如钓鱼邮件、即时消息等)诱骗已登录的目标站点管理员访问该恶意页面;当管理员访问时,浏览器会自动携带其会话Cookie提交表单,由于WordPress服务端无法区分该请求是用户主动操作还是伪造请求,因此会成功执行设置修改操作。攻击成功后,攻击者可以将课程重定向至恶意网站(用于钓鱼攻击或恶意软件分发)、破坏正常的课程访问流程,或为进一步渗透攻击建立跳板。