Miggo Logo

CVE-2014-3551: Moodle multiple cross-site scripting (XSS) vulnerabilities

3.5

CVSS Score

Basic Information

EPSS Score
0.56184%
Published
5/13/2022
Updated
1/24/2024
KEV Status
No
Technology
TechnologyPHP

Technical Details

CVSS Vector
AV:N/AC:M/Au:S/C:N/I:P/A:N
Package NameEcosystemVulnerable VersionsFirst Patched Version
moodle/moodlecomposer< 2.4.112.4.11
moodle/moodlecomposer>= 2.5.0, < 2.5.72.5.7
moodle/moodlecomposer>= 2.6.0, < 2.6.42.6.4
moodle/moodlecomposer>= 2.7.0, < 2.7.12.7.1

Vulnerability Intelligence
Miggo AIMiggo AI

Miggo AIRoot Cause Analysis

The vulnerability stems from unescaped user input in rubric fields. The JavaScript code in rubriceditor.js directly injected values into innerHTML without escaping (fixed via Y.Escape.html). In renderer.php, PHP code outputted criterion/level data using htmlspecialchars (insufficient in some contexts) or raw values, later patched to use Moodle's s() function for proper context-aware escaping. These functions handled the vulnerable qualification/rating fields and were explicitly modified in the security patch.

Vulnerable functions

Only Mi**o us*rs **n s** t*is s**tion

WAF Protection Rules

WAF Rule

Multipl* *ross-sit* s*riptin* (XSS) vuln*r**iliti*s in t** **v*n***-*r**in* impl*m*nt*tion in Moo*l* t*rou** *.*.**, *.*.x ***or* *.*.**, *.*.x ***or* *.*.*, *.*.x ***or* *.*.*, *n* *.*.x ***or* *.*.* *llow r*mot* *ut**nti**t** us*rs to inj**t *r*itr

Reasoning

T** vuln*r**ility st*ms *rom un*s**p** us*r input in ru*ri* *i*l*s. T** J*v*S*ript *o** in `ru*ri***itor.js` *ir**tly inj**t** v*lu*s into inn*r*TML wit*out *s**pin* (*ix** vi* `Y.*s**p*.*tml`). In `r*n**r*r.p*p`, P*P *o** outputt** *rit*rion/l*v*l *