CVE-2026-12483: LearnDash LMS <= 5.1.5 - Authenticated (Subscriber+) Arbitrary File Upload via Assignment Upload Handler
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 'learndashfileuploadprocess' 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.
Affected Software
Remediation
Recommended actions to resolve this vulnerability, in priority order.
- Configuration
Patch/upgrade LearnDash LMS so the 'learndash_fileupload_process' function validates every uploaded file in the array and blocks disallowed file types for assignment uploads.
LearnDash LMS (WordPress plugin) Assignment upload handler file upload validation (learndash_fileupload_process) = Ensure all files in the upload array are validated (not only the first file)
Event History
Frequently Asked Questions
Which users and site configurations are exposed?
An attacker must be authenticated with at least Subscriber-level access, enrolled in a course, and able to submit assignments where assignment uploads are enabled. The affected functionality is in LearnDash LMS versions up to and including 5.1.5.
Does a successful upload automatically result in remote code execution?
No. Disallowed files, including PHP files, can be uploaded to wp-content/uploads/learndash/assignments/, but remote code execution requires server configuration changes that permit execution of uploaded files; this is not possible under default server configurations.
How can administrators assess whether their site may be exposed?
Check whether the site runs LearnDash LMS 5.1.5 or earlier, has courses with assignment uploads enabled, and permits lower-privileged users such as Subscribers to enroll in those courses. Review wp-content/uploads/learndash/assignments/ for unexpected or executable file types.