Attack ChainAIDerived
Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain
-
AccessAuthenticate as low-privilege Moodle user
-
DeliveryCraft URL with IPv4-mapped IPv6 host
-
ExploitSubmit to URL downloader feature
-
ExecutionBypass host-blocking canonicalization
-
PersistServer fetches restricted internal resource
-
ImpactExfiltrate internal/metadata response
Vulnerability Assessment
| Weakness |
CWE
OWASP Top 10:2025
A01:2025 - Broken Access Control
ASVS 5.0
V4 - API and Web Service URL allowlisting, SSRF prevention
MITRE ATT&CK
2 techniques across 2 tactics: Initial Access, Credential Access The technique list with ATT&CK links and the kill-chain view is part of the Basic plan and up. |
| Exploitation Conditions | Requires an authenticated Moodle account with access to a feature that invokes the URL downloader / cURL-based remote fetch (PR:L). The attacker must supply a crafted URL expressing the restricted destination as an IPv4-mapped IPv6 address (e.g. ::ffff:<internal-ip>) so it evades the host-blocking canonicalization. Real-world impact is limited to what the Moodle server can network-reach internally (cloud metadata services, internal-only hosts); deployments where the server is network-segmented from sensitive internal endpoints see reduced impact. No user interaction is needed (UI:N), impact is confidentiality-only (C:L). |
| Impact | This is a genuine but modest-priority issue. The CVSS 3.1 vector (AV:N/AC:L/PR:L/UI:N/S:U/C:L/I:N/A:N, score 4.3) indicates a network-reachable, low-complexity flaw requiring an authenticated low-privilege account and no user interaction, with confidentiality-only impact and no scope change. No EPSS score, no CISA KEV listing, and no public POC are present in the provided data, so exploitation status is 'no public exploit identified at time of analysis.' No SSVC decision data was supplied. The signals are internally consistent - a real SSRF that a logged-in user can trigger, but bounded to information exposure (C:L) rather than integrity or availability loss. The practical severity of any SSRF depends heavily on what the Moodle server can reach (cloud metadata endpoints like 169.254.169.254, internal admin services), which is environment-specific and not captured by the base score; in hardened network segments the real-world impact is lower than in flat cloud deployments. Given the authenticated prerequisite, absence of exploitation evidence, and confidentiality-only rating, this is a lower-tier patch item rather than an emergency, though Moodle's enormous install base warrants routine remediation. |
| Exploit ScenarioDerived | An attacker with a low-privileged authenticated Moodle account uses a feature that invokes the URL downloader (e.g. importing content from a remote URL) and supplies a crafted URL encoding an internal target as an IPv4-mapped IPv6 address (e.g. ::ffff:169.254.169.254). The host-blocking allowlist/blocklist fails to canonicalize the mapped form, so the server is induced to fetch the restricted internal destination and return or act on its response. No public exploit code was identified in the provided sources. |
Get an e-mail when this CVE is exploited, patched or re-scored. Free account.
Alert meAnalysisAIv1 – Sep 30, 2026
Authenticated remote users of Moodle can bypass the URL downloader's host-blocking logic by encoding a restricted destination as an IPv4-mapped IPv6 address (for example ::ffff:<internal-ip>), causing the server to fetch resources from internal or otherwise blocked hosts on the attacker's behalf. Successful abuse yields Server-Side Request Forgery limited to confidentiality impact (CVSS 3.1 base 4.3, AV:N/AC:L/PR:L/UI:N/S:U/C:L/I:N/A:N), meaning the practical damage depends on what the Moodle server itself can reach - typically cloud instance-metadata endpoints or internal-only services - and is reduced on segmented networks. No public exploit code was identified at time of analysis and the issue is not confirmed actively exploited (CISA KEV), so this is a genuine but modest-priority issue that should be scheduled alongside routine patch cycles rather than treated as an emergency.
RemediationAI
Apply the upstream Moodle fix for MDL-88779 as soon as your branch carries it - Upstream fix available (PR/commit); released patched version not independently confirmed - and confirm the corresponding release note via the vendor discussion at https://moodle.org/mod/forum/discuss.php?d=482495 and the Red Hat advisory at https://access.redhat.com/security/cve/CVE-2026-102577, which will list the fixed package versions for downstream distributions. Until patched, the most effective compensating control is network-side: enforce egress filtering from the Moodle web tier so it cannot reach link-local metadata endpoints (notably 169.254.169.254 and its IPv6 equivalents) or internal-only management hosts, and require IMDSv2-style session-token metadata access where the cloud provider supports it - the trade-off is that overly broad egress rules can break legitimate outbound integrations (repository syncs, external content imports, webhook-style plugins), so scope the deny rules to metadata and RFC1918/ULA ranges rather than blocking all egress. Secondarily, reduce the attack surface by disabling or restricting the URL downloader / URL-fetching repository plugins (repository_url, file picker URL import, and similar remote-fetch features) for low-trust authenticated roles via role capability overrides, accepting the loss of legitimate URL-import functionality for those users. Monitoring for outbound requests to link-local or private ranges originating from the Moodle host, and reviewing server logs for URLs containing '::ffff:' literals, provides detection coverage while the patch is rolled out.
Affects your stack
Find out whether the stacks and servers you run are on an affected version.
Checking this CVE against your own stacks and servers is part of the Basic plan and up.
Technical ContextAI · show details
The vulnerability is a classic Server-Side Request Forgery (CWE-918) rooted in inconsistent address canonicalization. Moodle's URL downloader performs host-blocking checks to prevent authenticated users from making the web server fetch attacker-chosen destinations (an SSRF egress control). That blocklist operates on the host string as supplied, and does not normalize IPv4-mapped IPv6 literals - addresses of the form ::ffff:a.b.c.d, which are IPv6 representations that a dual-stack resolver/stack will route to the equivalent IPv4 endpoint. Because the blocklist compares the raw literal rather than the canonical resolved address, a crafted URL passes the check yet still reaches the restricted IPv4 target once the underlying HTTP client (cURL/PHP streams) connects. The fix tracked under MDL-88779 in Moodle's git repository tightens that host validation so mapped forms are resolved and evaluated against the blocked-host rules. The CVSS vector AV:N/AC:L/PR:L/UI:N indicates a network-reachable path requiring a low-privileged authenticated account and no victim interaction; the single-scope, confidentiality-only (C:L) rating reflects that the primitive is data retrieval, not code execution or state modification.
Know when Moodle gets its next vulnerability
- Watch products and get an email when something new is published
- Check this CVE against your own stack and servers
- Exploit and PoC references, threat intelligence from 22 sources
No credit card · 7-day full trial
Severity by source
AV:N/AC:L/PR:L/UI:N/S:U/C:L/I:N/A:N
Network-reachable, low-complexity SSRF needing a low-privileged authenticated account (PR:L), no scope change, and confidentiality-only exposure of internal responses (C:L; I/A none).
Primary rating from Vendor (fedora).
CVSS VectorVendor: fedora
DescriptionCVE.org
A flaw was found in Moodle. Incorrect handling of IPv4-mapped IPv6 addresses within the URL downloader's host-blocking logic allows an authenticated remote user to bypass blocked-host restrictions. By supplying a crafted URL, an attacker can induce the server to make requests to restricted destinations, leading to Server-Side Request Forgery (SSRF).
Threat Intelligence Overview
How this decision was reached
The engine reads each signal below and applies a fixed list of rules from top to bottom. The first rule that matches sets the recommended action – like a statement, every line is shown.
What every action level means
SSVC AssessmentENISA
Priority Score
Attack Technique
Server-Side Request Forgery exploits applications that fetch remote resources based on user-supplied URLs.
Affected Products (CPE)CVE.org
Moodle through 2.5.2 allows remote authenticated administrators to execute arbitrary programs by configuring the aspell
A command execution vulnerability exists in the default legacy spellchecker plugin in Moodle 3.10. Rated critical severi
A flaw was found in Moodle. Rated high severity (CVSS 8.1), this vulnerability is remotely exploitable, no authenticatio
In Moodle 2.x and 3.x, SQL injection can occur via user preferences. Rated critical severity (CVSS 9.8), this vulnerabil
The Moodle LMS Jmol plugin version 6.1 and earlier contains a path traversal vulnerability in jsmol.php. The query param
Multiple cross-site scripting (XSS) vulnerabilities in Moodle through 2.2.11, 2.3.x before 2.3.9, 2.4.x before 2.4.6, an
Unrestricted file upload vulnerability in the double extension support in the "image" module in Moodle 3.1.2 allows remo
Unrestricted file upload vulnerability in the "legacy course files" and "file manager" modules in Moodle 3.1.2 allows re
moodle before versions 3.5.2, 3.4.5, 3.3.8, 3.1.14 is vulnerable to an XML import of ddwtos could lead to intentional re
An issue was discovered in Moodle 3.x. Rated high severity (CVSS 8.8), this vulnerability is remotely exploitable, low a
Moodle 3.1.2 allows remote attackers to obtain sensitive information via unspecified vectors, related to a "SQL Injectio
Moodle 3.10.3 contains a persistent cross-site scripting vulnerability in the calendar event subtitle field that allows
EUVD-2026-89716
GHSA-29qm-g73m-2r7h
NVD
CVE.org
EPSS
Vulnrichment
Exploit-DB