CVE-2025-15521Academy LMS是WordPress平台上一款功能完整的在线学习管理系统(LMS)插件。该插件在3.5.0及之前的所有版本中存在严重的安全漏洞,攻击者可利用此漏洞无需任何认证即可接管任意用户账户,包括管理员账户。此漏洞的根本原因在于插件在处理密码重置功能时,未能正确验证用户身份,而是仅依赖一个公开暴露的nonce值进行授权验证。由于nonce值可以被攻击者轻易获取,攻击者可以构造恶意请求来修改目标用户的密码,从而获得对该账户的完全控制权。一旦管理员账户被接管,攻击者便可以在网站上执行任意操作,包括上传恶意插件、修改内容或窃取敏感数据。此漏洞CVSS评分高达9.8,属于紧急严重级别,建议所有使用该插件的用户立即升级到最新版本。
Academy LMS插件的密码重置功能存在严重的设计缺陷。在includes/functions.php文件的第1581行附近,插件实现了忘记密码功能,该功能在处理密码更新请求时存在以下问题:1) 身份验证不足:插件仅使用一个可预测或公开暴露的nonce值来验证请求合法性,而没有结合用户会话、邮箱验证或其他强身份验证机制。2) 授权检查缺失:插件未能验证请求者是否有权修改目标用户的密码,任何人都可以指定任意用户ID进行密码修改。3) 缺乏CSRF保护:虽然使用了nonce,但由于nonce的实现方式不安全,攻击者可以通过多种方式获取或预测该值。攻击者只需获取目标用户的ID和有效的nonce,即可构造POST请求修改该用户的密码。由于WordPress的nonce机制设计为公开可用(通过wp-admin或前端页面),攻击者可以轻易获取所需的nonce值并执行账户接管攻击。