Tutor LMS <= 4.0.5 - Unauthenticated Remote Code Execution via 'template' and 'data' POST Parameters
- Published
- Last modified
- Where the record stands: published, rejected by its publisher, or superseded by another id.What do these mean? →
- published
- Whether CISA lists it in its Known Exploited Vulnerabilities catalog: proof that attackers are using it.What do these mean? →
- Not listed in CISA KEV
- Whether working attack code is public (Exploit-DB, Metasploit, Nuclei or GitHub). Public code makes attacks easier.What do these mean? →
- None on Exploit-DB, Metasploit or GitHub
- Exploitation: none
- Automatable: yes
- Technical impact: partial
Summary
The Tutor LMS – eLearning and online course solution plugin for WordPress is vulnerable to Remote Code Execution limited to zero-argument function invocation in all versions up to, and including, 4.0.5 via the tutor_course_filter_ajax AJAX action. This is due to missing authorization on the handler combined with unsanitized array keys being passed to extract() inside tutor_load_template(), allowing attacker-controlled POST data to overwrite the local $template variable and, in the resulting templates/single-content-loader.php template, the $method_map and $context variables invoked at $method_map[$context](). This makes it possible for unauthenticated attackers to call an arbitrary zero-argument PHP function server-side and, via WordPress core edit_user(), to create a persistent subscriber-level account from request parameters.
Timeline
- CVE published
- CISA SSVC assessment
Exploitation: none · Automatable: yes · Technical impact: partial
- Record last updated
Affected versions
- themeum Tutor LMS – eLearning and online course solution
through 4.0.5
References 9
plugins.trac.wordpress.org
- browser/tutor/tags/4.0.1/templates/single-content-loader.php#L71
- browser/tutor/tags/4.0.1/templates/single-content-loader.php#L30
- browser/tutor/tags/4.0.1/includes/tutor-template-functions.php#L118
- browser/tutor/tags/4.0.1/includes/tutor-template-functions.php#L128
- browser/tutor/tags/4.0.1/classes/Course_Filter.php#L224
- browser/tutor/tags/4.0.1/classes/Course_Filter.php#L58
- changeset/3653079/tutor/trunk/templates/single-content-loader.php
- changeset?old_path=%2Ftutor/tags/4.0.5&new_path=%2Ftutor/tags/4.0.6