Low severityNVD Advisory· Published Jun 1, 2015· Updated May 6, 2026
CVE-2015-0212
CVE-2015-0212
Description
Cross-site scripting (XSS) vulnerability in course/pending.php in Moodle through 2.5.9, 2.6.x before 2.6.7, 2.7.x before 2.7.4, and 2.8.x before 2.8.2 allows remote authenticated users to inject arbitrary web script or HTML via a crafted course summary.
Affected packages
Versions sourced from the GitHub Security Advisory.
| Package | Affected versions | Patched versions |
|---|---|---|
moodle/moodlePackagist | < 2.6.7 | 2.6.7 |
moodle/moodlePackagist | >= 2.7.0, < 2.7.4 | 2.7.4 |
moodle/moodlePackagist | >= 2.8.0, < 2.8.2 | 2.8.2 |
Affected products
22cpe:2.3:a:moodle:moodle:*:*:*:*:*:*:*:*+ 21 more
- cpe:2.3:a:moodle:moodle:*:*:*:*:*:*:*:*range: <=2.5.9
- cpe:2.3:a:moodle:moodle:2.5.0:*:*:*:*:*:*:*
- cpe:2.3:a:moodle:moodle:2.5.1:*:*:*:*:*:*:*
- cpe:2.3:a:moodle:moodle:2.5.2:*:*:*:*:*:*:*
- cpe:2.3:a:moodle:moodle:2.5.3:*:*:*:*:*:*:*
- cpe:2.3:a:moodle:moodle:2.5.4:*:*:*:*:*:*:*
- cpe:2.3:a:moodle:moodle:2.5.5:*:*:*:*:*:*:*
- cpe:2.3:a:moodle:moodle:2.5.6:*:*:*:*:*:*:*
- cpe:2.3:a:moodle:moodle:2.5.7:*:*:*:*:*:*:*
- cpe:2.3:a:moodle:moodle:2.5.8:*:*:*:*:*:*:*
- cpe:2.3:a:moodle:moodle:2.6.0:*:*:*:*:*:*:*
- cpe:2.3:a:moodle:moodle:2.6.1:*:*:*:*:*:*:*
- cpe:2.3:a:moodle:moodle:2.6.2:*:*:*:*:*:*:*
- cpe:2.3:a:moodle:moodle:2.6.3:*:*:*:*:*:*:*
- cpe:2.3:a:moodle:moodle:2.6.4:*:*:*:*:*:*:*
- cpe:2.3:a:moodle:moodle:2.6.5:*:*:*:*:*:*:*
- cpe:2.3:a:moodle:moodle:2.6.6:*:*:*:*:*:*:*
- cpe:2.3:a:moodle:moodle:2.7.0:*:*:*:*:*:*:*
- cpe:2.3:a:moodle:moodle:2.7.1:*:*:*:*:*:*:*
- cpe:2.3:a:moodle:moodle:2.7.2:*:*:*:*:*:*:*
- cpe:2.3:a:moodle:moodle:2.7.3:*:*:*:*:*:*:*
- cpe:2.3:a:moodle:moodle:2.8.0:*:*:*:*:*:*:*
Patches
482356399b97bMDL-48368 course: Add warning message to pending courses page
2 files changed · +3 −0
course/pending.php+2 −0 modified@@ -96,6 +96,8 @@ echo $OUTPUT->heading(get_string('nopendingcourses')); } else { echo $OUTPUT->heading(get_string('coursespending')); + $role = $DB->get_record('role', array('id' => $CFG->creatornewroleid), '*', MUST_EXIST); + echo $OUTPUT->notification(get_string('courserequestwarning', 'core', role_get_name($role)), 'notifyproblem'); /// Build a table of all the requests. $table = new html_table();
lang/en/moodle.php+1 −0 modified@@ -373,6 +373,7 @@ $string['courserequestreason'] = 'Reasons for wanting this course'; $string['courserequestsuccess'] = 'Your course request has been saved successfully. You will be sent an email to inform you whether your request was approved.'; $string['courserequestsupport'] = 'Supporting information to help the administrator evaluate this request'; +$string['courserequestwarning'] = 'The user requesting this course will be automatically enrolled using the "{$a}" role'; $string['courserestore'] = 'Course restore'; $string['courses'] = 'Courses'; $string['coursesectionsummaries'] = 'Course section summaries';
7a15c996ebd9MDL-48368 course: fix xss on course request pending page
1 file changed · +1 −1
course/pending.php+1 −1 modified@@ -116,7 +116,7 @@ $row[] = format_string($course->shortname); $row[] = format_string($course->fullname); $row[] = fullname($course->get_requester()); - $row[] = $course->summary; + $row[] = format_text($course->summary, $course->summaryformat); $row[] = $category->get_formatted_name(); $row[] = format_string($course->reason); $row[] = $OUTPUT->single_button(new moodle_url($baseurl, array('approve' => $course->id, 'sesskey' => sesskey())), get_string('approve'), 'get') .
b270bb0d75d2MDL-48368 course: fix xss on course request pending page
1 file changed · +1 −1
course/pending.php+1 −1 modified@@ -116,7 +116,7 @@ $row[] = format_string($course->shortname); $row[] = format_string($course->fullname); $row[] = fullname($course->get_requester()); - $row[] = $course->summary; + $row[] = format_text($course->summary, $course->summaryformat); $row[] = $category->get_formatted_name(); $row[] = format_string($course->reason); $row[] = $OUTPUT->single_button(new moodle_url($baseurl, array('approve' => $course->id, 'sesskey' => sesskey())), get_string('approve'), 'get') .
38ca8793b6faMDL-48368 course: fix xss on course request pending page
1 file changed · +1 −1
course/pending.php+1 −1 modified@@ -116,7 +116,7 @@ $row[] = format_string($course->shortname); $row[] = format_string($course->fullname); $row[] = fullname($course->get_requester()); - $row[] = $course->summary; + $row[] = format_text($course->summary, $course->summaryformat); $row[] = $category->get_formatted_name(); $row[] = format_string($course->reason); $row[] = $OUTPUT->single_button(new moodle_url($baseurl, array('approve' => $course->id, 'sesskey' => sesskey())), get_string('approve'), 'get') .
Vulnerability mechanics
Generated by null/stub on May 9, 2026. Inputs: CWE entries + fix-commit diffs from this CVE's patches. Citations validated against bundle.
References
8- github.com/advisories/GHSA-jj3j-mhgc-g4m4ghsaADVISORY
- moodle.org/mod/forum/discuss.phpnvdVendor AdvisoryWEB
- nvd.nist.gov/vuln/detail/CVE-2015-0212ghsaADVISORY
- openwall.com/lists/oss-security/2015/01/19/1nvdWEB
- github.com/moodle/moodle/commit/38ca8793b6faa6c35176537c8015cc4e76ce73f5ghsaWEB
- github.com/moodle/moodle/commit/7a15c996ebd90c776bae1a77573b95e8a43467b6ghsaWEB
- github.com/moodle/moodle/commit/82356399b97be933c4d72f9c55b797e49b8c8232ghsaWEB
- github.com/moodle/moodle/commit/b270bb0d75d2354b7fbf4b8ccf0b995037973684ghsaWEB
News mentions
0No linked articles in our index yet.