Skip to content
KitploitKITPLOIT
ToolsExploitsBlog
Log in
Submit
ToolsExploitsBlog
Submit

Hacking, PenTest, and Cybersecurity Tools for Your Security Arsenal!

Kitploit is a directory of hacking, cybersecurity, and pentesting tools. Discover the latest project updates to find vulnerabilities, analyze systems, automate testing, and strengthen your security.

··Feeds·Contact·Privacy·© 2026 Kitploit

Tool Directory

Categories

View all categories
Loading categories
CVE-2026-1375 — Authenticated IDOR / Broken Access Control in Tutor LMS Plugin | Kitploit
Tools/GitHubGitHub/d3kc4rt1/cve-2026-1375
Vulnerability AnalysisWeb Application ExploitationPenetration TestingMisconfigurationLearning & EducationCurated Resources
GitHubd3kc4rt1/cve-2026-1375

CVE-2026-1375

Authenticated IDOR / Broken Access Control in Tutor LMS Plugin

View Repository
115 months agoNot yet reviewed

Most Popular

View all →

Discover the most used tools by our community.

Explore all tools

Browse our collection of tools

View all tools →
Share

CVE-2026-1375: Authenticated IDOR / Broken Access Control in Tutor LMS Plugin

Disclaimer: This repository is created for educational purposes and ethical disclosure only. The vulnerability has been responsibly reported to the vendor and patched. Do not use this information to exploit systems without proper authorization.

Summary

Insecure Direct Object Reference (IDOR) / Broken Access Control vulnerability was discovered in the Tutor LMS plugin for WordPress (versions <= 3.9.5). This flaw allows a low-privileged user with the Tutor Instructor role to perform unauthorized bulk actions, such as changing the publication status or permanently deleting courses owned by other instructors or administrators.

By intercepting a legitimate backend request and tampering with the course ID parameter, an attacker can bypass intended access controls. In a real-world scenario, this allows malicious actors to sabotage competitor courses on a multi-instructor marketplace, causing direct business disruption, revenue loss, and reputational damage.

Vulnerability Overview

  • CVE ID: CVE-2026-1375
  • Product: Tutor LMS (WordPress Plugin)
  • Affected Versions: <= 3.9.5
  • Patched Versions: 3.9.6
  • Vulnerability Type: Insecure Direct Object Reference (IDOR) / Broken Access Control (CWE-284)
  • Required Privileges: Authenticated (Tutor Instructor)

Root Cause

The core issue stems from missing object-level authorization checks within the plugin's bulk action handler.

File: tutor/classes/Course_List.php Function: course_list_bulk_action()

1. Unvalidated Object Identifiers: The function accepts user-controlled inputs (bulk-action and bulk-ids) directly from the HTTP request. While the plugin verifies that the user holds a general capability to manage courses, it entirely fails to verify per-course ownership for the specific IDs supplied in the bulk-ids array.

2. Execution Without Ownership Verification: When the status update path (update_course_status()) or the deletion path (bulk_delete_course()) is triggered, the code iterates over the attacker-supplied IDs. It executes database operations (e.g., updating cp_posts.post_status) using a WHERE ID IN (...) clause without appending a condition to ensure $post_author == $current_user_id.

Because the handler does not enforce object-level authorization, any instructor with access to the bulk action workflow can manipulate arbitrary course IDs.

Business Impact

  • Business Disruption: Victim courses can be taken offline (moved to trash, draft, or private) without consent, removing them from public listings.
  • Revenue Loss: On multi-instructor platforms or marketplaces, hiding a competitor's course directly impacts their enrollments and income.
  • Data Destruction: If the bulk delete feature is accessible, an attacker could permanently erase course content that does not belong to them.

Proof of Concept (PoC)

The following steps demonstrate how an authenticated Tutor Instructor can change the status of another instructor's course.

Manual Exploitation Steps

  1. Prerequisites:
    • Log in to the WordPress dashboard as a Tutor Instructor (Attacker).
    • Identify the target course_id belonging to another instructor (Victim). (e.g., ID: 27).
  2. Trigger Action: Navigate to the Tutor LMS course list (/wp-admin/admin.php?page=tutor). Select any course you own, choose a status change action (e.g., set to "draft"), and click "Apply".
  3. Intercept Request: Use a proxy tool like Burp Suite to intercept the outbound POST request to /wp-admin/admin-ajax.php.
  4. Payload Modification:
    • Change the status parameter to trash (or pending, private).
    • Change the id parameter from your course ID to the Victim's course ID (27).
  5. Execution: Forward the modified request.
  6. Result: The server responds with {"success":true}. The victim's course is successfully moved to the trash and disappears from the public frontend.

Timeline

  • Date (2026-01-23): Reported to Wordfence.
  • Date (2026-02-03): Vulnerability patched / Public disclosure.

References & Credits

  • Wordfence Vulnerability Database
  • CVE-2026-1375 on NVD
  • MyRewards Plugin on WordPress.org
Download Tool