CVE-2025-12098CVE-2025-12098是WordPress平台Academy LMS在线学习管理系统插件的一个中危安全漏洞。该漏洞存在于插件的'enqueue_social_login_script'函数中,影响3.3.8及以下所有版本。Academy LMS是一款功能完整的WordPress LMS插件,为教育机构和企业提供完整的在线学习解决方案,支持课程管理、学生跟踪、社交登录等功能。
该漏洞的核心问题在于敏感信息暴露。攻击者无需任何认证即可利用此漏洞,通过触发特定函数调用来获取服务器端存储的敏感配置信息。最严重的风险是当网站启用Facebook社交登录功能时,攻击者可以提取Facebook应用程序密钥(App Secret)。这个密钥是Facebook OAuth认证流程中的关键凭证,一旦泄露,攻击者可以:1)伪造Facebook登录认证流程;2)以受害者身份访问第三方集成服务;3)进行钓鱼攻击和社会工程学攻击;4)横向移动到其他相关系统。
CVSS 3.1评分5.3(中等严重程度)反映了该漏洞通过网络即可利用、无需特殊权限或用户交互的特点,但由于机密性影响仅为"低",且不影响数据完整性和可用性,因此总体评分处于中等水平。然而在实际攻击场景中,泄露的Facebook App Secret可能造成远超评分的实际危害,特别是对于依赖社交登录的教育平台而言,学生的个人信息和学习数据都可能面临风险。
Academy LMS插件在实现Facebook社交登录功能时,存在不安全的敏感数据处理逻辑。漏洞点位于'enqueue_social_login_script'函数,该函数负责加载前端JavaScript脚本以支持社交登录界面。
技术分析表明,该函数在处理请求时未进行充分的权限验证和访问控制。具体问题包括:
1. **信息泄露机制**:函数直接返回Facebook应用配置信息,包括App Secret,而未检查请求者是否具有合法访问权限。在正常的OAuth流程中,App Secret应在服务器端使用,永远不应该暴露给前端或未经授权的用户。
2. **攻击向量**:攻击者通过构造特定的HTTP请求,触发'enqueue_social_login_script'函数的执行。由于该函数缺少CSRF token验证和用户认证检查,攻击者可以在未登录状态下直接获取敏感配置。请求示例:
- GET /wp-admin/admin-ajax.php?action=enqueue_social_login_script
- 或通过前端AJAX调用触发该函数
3. **数据流向**:泄露的数据通过HTTP响应返回,可能被拦截或直接访问。攻击者获取App Secret后,可以搭建伪造的Facebook登录页面,诱骗用户输入凭证,或利用App Secret与Facebook API进行交互。
4. **影响范围评估**:任何启用Facebook Social Login功能的Academy LMS网站都受影响。由于插件默认可能预配置相关功能,管理员可能未意识到该功能已激活。