{"id":"CVE-2026-92715","state":"PUBLISHED","title":"Tutor LMS <= 4.1.0 - Insecure Direct Object Reference to Authenticated (Author+) Arbitrary Course Modification and Ownership Takeover via 'ID' Parameter","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.","publishedAt":"2026-10-17T03:43:27.343Z","updatedAt":"2026-10-18T11:22:47.245Z","severity":{"score":4.3,"label":"Medium","version":"3.1","vector":"CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:N/I:L/A:N","source":"Wordfence"},"assigner":"Wordfence","products":["themeum Tutor LMS – eLearning and online course solution"],"affected":[{"vendor":"themeum","product":"Tutor LMS – eLearning and online course solution","defaultStatus":"unaffected","versions":[{"version":"0","status":"affected","lessThanOrEqual":"4.1.0","versionType":"semver"}]}],"references":["https://www.wordfence.com/threat-intel/vulnerabilities/id/12f093bd-5230-4103-b571-80543c1b43cf?source=cve","https://plugins.trac.wordpress.org/browser/tutor/tags/4.0.8/classes/Course.php#L1053","https://plugins.trac.wordpress.org/browser/tutor/tags/4.0.8/classes/Course.php#L1009","https://plugins.trac.wordpress.org/browser/tutor/tags/4.0.8/classes/Course.php#L850","https://plugins.trac.wordpress.org/browser/tutor/tags/4.0.8/classes/Course.php#L303","https://plugins.trac.wordpress.org/changeset/3730615/tutor/trunk/classes/Course.php"],"weaknesses":["CWE-639"],"ingestedAt":"2026-10-29T20:13:34.582Z","source":{"repository":"CVEProject/cvelistV5","path":"cves/2026/92xxx/CVE-2026-92715.json","commit":"556c9d3a8cd17e218bb8e452ba7cd619a384ff47"},"raw":{"dataType":"CVE_RECORD","dataVersion":"5.2","cveMetadata":{"cveId":"CVE-2026-92715","state":"PUBLISHED","datePublished":"2026-10-17T03:43:27.343Z","dateUpdated":"2026-10-18T11:22:47.245Z","assignerShortName":"Wordfence","assignerOrgId":"b15e7b5b-3da4-40ae-a43c-f7aa60e62599","dateReserved":"2026-09-16T16:51:34.440Z"},"containers":{"cna":{"title":"Tutor LMS <= 4.1.0 - Insecure Direct Object Reference to Authenticated (Author+) Arbitrary Course Modification and Ownership Takeover via 'ID' Parameter","descriptions":[{"lang":"en","value":"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."}],"affected":[{"vendor":"themeum","product":"Tutor LMS – eLearning and online course solution","defaultStatus":"unaffected","versions":[{"version":"0","status":"affected","lessThanOrEqual":"4.1.0","versionType":"semver"}]}],"references":[{"url":"https://www.wordfence.com/threat-intel/vulnerabilities/id/12f093bd-5230-4103-b571-80543c1b43cf?source=cve"},{"url":"https://plugins.trac.wordpress.org/browser/tutor/tags/4.0.8/classes/Course.php#L1053"},{"url":"https://plugins.trac.wordpress.org/browser/tutor/tags/4.0.8/classes/Course.php#L1009"},{"url":"https://plugins.trac.wordpress.org/browser/tutor/tags/4.0.8/classes/Course.php#L850"},{"url":"https://plugins.trac.wordpress.org/browser/tutor/tags/4.0.8/classes/Course.php#L303"},{"url":"https://plugins.trac.wordpress.org/changeset/3730615/tutor/trunk/classes/Course.php"}],"metrics":[{"cvssV3_1":{"version":"3.1","vectorString":"CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:N/I:L/A:N","baseScore":4.3,"baseSeverity":"MEDIUM"}}],"problemTypes":[{"descriptions":[{"cweId":"CWE-639","lang":"en","description":"CWE-639 Authorization Bypass Through User-Controlled Key","type":"CWE"}]}],"providerMetadata":{"shortName":"Wordfence","orgId":"b15e7b5b-3da4-40ae-a43c-f7aa60e62599","dateUpdated":"2026-10-17T03:43:27.343Z"},"credits":[{"lang":"en","type":"finder","value":"owlmind"}],"timeline":[{"time":"2026-09-16T17:06:38.000Z","lang":"en","value":"Vendor Notified"},{"time":"2026-10-16T14:55:54.000Z","lang":"en","value":"Disclosed"}]},"adp":[{"title":"CISA ADP Vulnrichment","metrics":[{"other":{"type":"ssvc","content":{"id":"CVE-2026-92715","role":"CISA Coordinator","options":[{"Exploitation":"none"},{"Automatable":"no"},{"Technical Impact":"partial"}],"version":"2.0.3","timestamp":"2026-10-18T11:08:58.351639Z"}}}],"providerMetadata":{"shortName":"CISA-ADP","orgId":"134c704f-9b21-4f2e-91b3-4a467353bcc0","dateUpdated":"2026-10-18T11:22:47.245Z"}}]}}}