Tutor LMS <= 4.1.0 - Insecure Direct Object Reference to Authenticated (Author+) Arbitrary Course Modification and Ownership Takeover via 'ID' Parameter
What fixes it
No source in this snapshot names a fixed version.
Description
The Tutor LMS – eLearning and online course solution plugin for WordPress is vulnerable to Insecure Direct Object Reference in all versions up to, and including, 4.1.0 via the 'ID' parameter due to missing validation on a user controlled key. This makes it possible for authenticated attackers, with author-level access and above, to modify arbitrary courses created by other instructors — overwriting their title, content, and status — and reassign ownership of those courses to themselves. This is possible because Input::sanitize_array() preserves attacker-supplied POST keys (including 'ID') without stripping them, and WordPress interprets a non-empty ID in the wp_insert_post() argument array as an update to the existing post rather than a new insert.
Text from CVE List
Affected versions 1
- Tutor LMS – eLearning and online course solutionaffected: all versions through 4.1.0CVE List
References 6
- wordfence.com/threat-intel/vulnerabilities/id/12f093bd-5230-4103-b571-80543c1b43cf?source=cveReferencevia CVE List
- plugins.trac.wordpress.org/browser/tutor/tags/4.0.8/classes/Course.php#L1053Referencevia CVE List
- plugins.trac.wordpress.org/browser/tutor/tags/4.0.8/classes/Course.php#L1009Referencevia CVE List
- plugins.trac.wordpress.org/browser/tutor/tags/4.0.8/classes/Course.php#L850Referencevia CVE List
- plugins.trac.wordpress.org/browser/tutor/tags/4.0.8/classes/Course.php#L303Referencevia CVE List
- plugins.trac.wordpress.org/changeset/3730615/tutor/trunk/classes/Course.phpReferencevia CVE List