CVE-2026-16759: Tutor LMS Remote Code Execution via AJAX filter

CVE-2026-16759 · Severity: medium · CVSS 6.5 · Published 2026-08-28

Tutor LMS is a popular WordPress plugin for creating and managing online courses. The plugin contains a vulnerability that allows unauthenticated attackers to execute arbitrary PHP functions on the server, potentially creating unauthorized admin or subscriber accounts and compromising course data or student information. This vulnerability affects all versions up to 4.0.5 and requires only a single malicious web request to exploit.

Quick answers

Is CVE-2026-16759 exploited in the wild?
No. Junglewise Threat Intelligence has no report of CVE-2026-16759 being exploited in the wild.
How severe is CVE-2026-16759?
Medium severity, with a CVSS score of 6.5, published 28 August 2026.
Which products and versions are affected?
Tutor LMS Tutor LMS up to and including 4.0.5.
Is there a fix for CVE-2026-16759?
No fixed version is recorded yet. Check the vendor's advisory in the references below. If you run it, Junglewise drafts a mitigation that fits your setup and applies it once you approve, with senior security engineers behind it.
How is CVE-2026-16759 attacked?
It is attacked over the network, in a web application.
Am I affected by CVE-2026-16759?
Check whether anything you run is named in the advisory. Junglewise does that check for you around the clock: connect your code, cloud and domains, and it matches new vulnerabilities like this one against what you actually run and tells you when one reaches you.

Technical details

The vulnerability is a Remote Code Execution flaw caused by missing authorization checks and improper input sanitization in the tutor_course_filter_ajax AJAX handler. Attackers send crafted POST requests to the AJAX action that pass unsanitized array keys to the extract() function within tutor_load_template(), allowing them to overwrite local variables including $template, $method_map, and $context. These variables are then invoked in templates/single-content-loader.php as $method_map[$context](), enabling arbitrary zero-argument PHP function calls. By exploiting WordPress's built-in edit_user() function, attackers can create persistent subscriber-level accounts without authentication. The attack requires network access to a WordPress installation running the vulnerable plugin.

Affected products

  • Tutor LMS Tutor LMS up to and including 4.0.5

Timeline

  • 2026-08-28: disclosed

References

This page as Markdown. Free to reuse under CC BY 4.0 with a link back.