Attack ChainAIDerived
Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain
-
ReconRegister subscriber account
-
DeliveryEnroll in course with assignment uploads enabled
-
ExploitCraft multi-file upload POST with PHP webshell as second array element
-
InstallBypass single-file validation in learndash_fileupload_process
-
C2PHP file written to wp-content/uploads/learndash/assignments/
-
ExecuteRequest uploaded file URL on misconfigured server
-
ImpactAchieve arbitrary code execution
Vulnerability Assessment
| Weakness |
CWE
OWASP Top 10:2025
A06:2025 - Insecure Design
ASVS 5.0
V5 - File Handling File type validation, storage isolation
MITRE ATT&CK
2 techniques across 2 tactics: Command and Control, Persistence The technique list with ATT&CK links and the kill-chain view is part of the Basic plan and up. |
| Exploitation Conditions | Three prerequisites must all be met: (1) the attacker must hold at least a WordPress subscriber-level account (PR:L - unauthenticated exploitation is not possible); (2) that account must be enrolled in a specific course that has the assignment uploads feature enabled by an instructor or admin - courses with uploads disabled are not reachable through this path; (3) for actual remote code execution, the web server must be configured to allow PHP script execution within wp-content/uploads/learndash/assignments/, which is non-default and contrary to standard WordPress hardening. Sites with default Apache .htaccess rules or managed hosting PHP restrictions in the uploads directory can receive the malicious file upload but cannot have it executed, limiting impact to unauthorized file storage. The multi-file array bypass technique requires the attacker to craft a custom HTTP request rather than use a standard browser upload form. |
| Impact | The provided CVSS 3.1 vector (AV:N/AC:H/PR:L/UI:N/S:U/C:H/I:H/A:H, score 7.5) accurately represents the worst-case RCE scenario but bundles two distinct risk tiers: the file upload itself (AC:L once prerequisites are met) and RCE (AC:H requiring server misconfiguration). In practice, most WordPress deployments on managed or hardened hosts will not allow PHP execution in the uploads directory, reducing the realistic impact to unauthorized file storage rather than RCE. The attack surface is further constrained by three prerequisite conditions - authenticated access, course enrollment, and assignment uploads being enabled - making fully automated, opportunistic exploitation unlikely. No EPSS data was provided; no KEV listing exists; no POC has been identified. Real-world priority is moderate: WordPress LMS sites that permit public registration and have courses with assignment uploads enabled face meaningful risk if their upload directory lacks execution restrictions, but default WordPress hardening substantially limits exposure. |
| Exploit ScenarioDerived | An attacker registers a free subscriber account on a WordPress site running LearnDash ≤5.1.5, enrolls in any course that has assignment uploads enabled, and crafts a multipart/form-data POST request to the assignment upload endpoint containing an array of files where the first element is a legitimate image or document and the second is a PHP webshell. Because |
Get an e-mail when this CVE is exploited, patched or re-scored. Free account.
Alert meAnalysisAIv1 – Sep 04, 2026
Unrestricted file upload in the LearnDash LMS WordPress plugin (versions ≤5.1.5) allows authenticated subscribers enrolled in courses with assignment uploads enabled to bypass file-type validation by submitting a multi-file array, where only the first file is validated and subsequent files - including PHP webshells - are silently accepted and written to wp-content/uploads/learndash/assignments/. Remote code execution is contingent on non-default server configurations that permit PHP execution within the uploads directory. No public exploit or CISA KEV listing has been identified at time of analysis.
RemediationAI
Update the LearnDash LMS plugin to a version beyond 5.1.5; the Wordfence advisory at https://www.wordfence.com/threat-intel/vulnerabilities/id/a539ba27-ad9b-4fe6-8df4-71e262c7b158 should be consulted for the confirmed patched release version, as no specific fix version number was included in the available intelligence. As an immediate compensating control, site administrators should verify that their web server blocks PHP execution in the wp-content/uploads/ directory - in Apache environments, this is typically enforced via an .htaccess file containing php_flag engine off or an equivalent directive; in nginx, ensure no PHP location block matches the uploads path. Additionally, disabling the assignment uploads feature on courses where it is not operationally required directly removes the vulnerable upload entry point without affecting other plugin functionality. If assignment uploads are business-critical, consider restricting course enrollment to known, trusted users rather than open public registration.
Affected VersionsENISA
Affected Packages
Source: OSV (Open Source Vulnerabilities)
Affects your stack
Affects 1 package in euvd
Checking this CVE against your own stacks and servers is part of the Basic plan and up.
Technical ContextAI · show details
The vulnerability (CWE-434, Unrestricted Upload of File with Dangerous Type) resides in the learndash_fileupload_process function within the LearnDash LMS plugin (CPE: cpe:2.3:a:stellarwp:learndash_lms:*:*:*:*:*:*:*:*, vendor StellarWP). The function iterates over an uploaded file array but applies extension/MIME validation only to the first element; all subsequent array members are written to disk without type checking. This is a classic off-by-one validation logic error in multi-file handling. The upload target directory (wp-content/uploads/learndash/assignments/) is within the webroot, meaning PHP files placed there become web-accessible. Whether those PHP files execute depends entirely on the web server's PHP handler configuration for the uploads path - Apache's default .htaccess in WordPress upload directories typically includes deny from all or php_flag engine off rules, which is why the vendor and CVSS score AC:H for the full RCE chain.
Know when Learndash Lms gets its next vulnerability
- Watch products and get an email when something new is published
- Check this CVE against your own stack and servers
- Exploit and PoC references, threat intelligence from 22 sources
No credit card · 7-day full trial
Severity by source
AV:N/AC:H/PR:L/UI:N/S:U/C:H/I:H/A:H
PR:L for required subscriber auth; AC:H for non-default server PHP-execution config needed for RCE; C/I/A:H scoped to full compromise if RCE achieved.
Primary rating from Vendor (Wordfence).
CVSS VectorVendor: Wordfence
DescriptionCVE.org
The LearnDash LMS plugin for WordPress is vulnerable to Unrestricted File Type Upload in versions up to and including 5.1.5. This is due to insufficient input validation in the 'learndash_fileupload_process' function, which iterates through an entire array and validates only the first file. This makes it possible for authenticated attackers, with subscriber-level access and above who are enrolled in a course with assignment uploads enabled, to upload arbitrary disallowed files, including PHP files, to the server's wp-content/uploads/learndash/assignments/ directory. The uploaded files can only be used for Remote Code Execution if default server configurations have been changed to allow for execution.
Executive ViewAI
LearnDash LMS plugin (versions ≤5.1.5) permits authenticated course subscribers to upload executable files that may execute on affected servers, creating risk of unauthorized system access and compromise of educational platforms and sensitive student data. Institutions using this plugin face potential exposure of learner records, course materials, and supporting IT infrastructure to malicious actors.
Disable PHP execution in wp-content/uploads/ directory via .htaccess or web server configuration; implement strict file-type validation at upload time; restrict upload permissions to administrators only; deploy file integrity monitoring on the learndash/assignments directory; audit all existing uploaded files for indicators of compromise; disable upload functionality entirely pending patch availability.
Threat Intelligence Overview
How this decision was reached
The engine reads each signal below and applies a fixed list of rules from top to bottom. The first rule that matches sets the recommended action – like a statement, every line is shown.
What every action level means
SSVC AssessmentENISA
Priority Score
Attack Technique
Malicious file upload attacks exploit insufficient validation when web applications accept user-provided files.
Remote Code Execution represents the critical moment when an attacker successfully runs arbitrary code on a target system without physical access.
More in Learndash Lms
View allThe LearnDash LMS plugin for WordPress contains a blind time-based SQL injection vulnerability in the 'filters[orderby_o
Authorization bypass in the LearnDash LMS WordPress plugin (versions 4.25.0-5.1.6) allows attackers to enroll arbitrary
EUVD-2026-71098
GHSA-48gr-hj52-h85w
NVD
CVE.org
EPSS
Vulnrichment
Exploit-DB