Skip to main content

LearnDash LMS EUVDEUVD-2026-71098

| CVE-2026-12483 HIGH
Unrestricted Upload of File with Dangerous Type (CWE-434)
2026-09-04 Wordfence GHSA-48gr-hj52-h85w
7.5
CVSS 3.1 · Vendor: Wordfence
View

Attack ChainAIDerived

Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain

  1. Recon
    Register subscriber account
  2. Delivery
    Enroll in course with assignment uploads enabled
  3. Exploit
    Craft multi-file upload POST with PHP webshell as second array element
  4. Install
    Bypass single-file validation in learndash_fileupload_process
  5. C2
    PHP file written to wp-content/uploads/learndash/assignments/
  6. Execute
    Request uploaded file URL on misconfigured server
  7. Impact
    Achieve 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 learndash_fileupload_process validates only the first array entry, the PHP file is written to wp-content/uploads/learndash/assignments/. If the web server is misconfigured to execute PHP in the uploads directory, the attacker GETs the uploaded PHP path to trigger arbitrary command execution.

This Week Schedule remediation this week. Why: HIGH severity (CVSS 7.0-8.9).
No patch listed yet 0.4% exploitation probability (EPSS)

Get an e-mail when this CVE is exploited, patched or re-scored. Free account.

Alert me

AnalysisAIv1 – 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

LearnDash LMS 0 ≤5.1.5

Affected Packages

euvd learndash_lms no fix

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

Vendor (Wordfence) PRIMARY 7.5 HIGH
AV:N/AC:H/PR:L/UI:N/S:U/C:H/I:H/A:H
vuln.today AI 7.5 HIGH

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.

3.1 AV:N/AC:H/PR:L/UI:N/S:U/C:H/I:H/A:H
4.0 AV:N/AC:H/AT:P/PR:L/UI:N/VC:H/VI:H/VA:H/SC:N/SI:N/SA:N

Primary rating from Vendor (Wordfence).

CVSS VectorVendor: Wordfence

Attack Vector
Network
Attack Complexity
High
Privileges Required
Low
User Interaction
None
Scope
Unchanged
Confidentiality
High
Integrity
High
Availability
High

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

Why It Matters

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.

Business Impact: High
Compensating Controls

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

EPSS Score
0.4%
Top 69% exploitable
Prevalence
Medium
popular WordPress LMS plugin, broad e-learning site adoption
Data Quality
5 sources
Confidence: Medium

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.

SignalValue
Severity HIGH
CISA KEV No
Public POC No
EPSS 0.4%
Patch available No
Active threat No
Deciding rule
HIGH severity (CVSS 7.0-8.9)
What every action level means
Emergency Immediate action required. Criteria: CRITICAL + in CISA KEV (actively exploited) without patch, OR CRITICAL + EPSS > 30% without patch, OR CRITICAL + active threat signals without patch.
Act Now Prioritize within 24-48h. Criteria: in KEV with patch available, OR CRITICAL + public POC, OR HIGH + EPSS > 10%, OR CRITICAL + active threat, OR any CRITICAL severity.
This Week Schedule remediation this week. Criteria: HIGH severity (CVSS 7.0-8.9). Patch within normal change window.
This Month Plan within 30 days. Criteria: MEDIUM severity (CVSS 4.0-6.9), lower exploitation probability. Include in regular patch cycle.
Monitor Track and reassess. Criteria: LOW severity (CVSS 0.1-3.9), minimal exploitation risk. No immediate action needed.

SSVC AssessmentENISA

SSVC Decision
Scheduled
Exploitation
None
System Exposure· derived
Open
Automatable
No
Human Impact
High
Technical Impact
Total

Priority Score

38
Low Medium High Critical
KEV: 0
EPSS: 0
CVSS: +38
PoC: 0
Weaponized: 0
Threat intel: 0
Gov advisory: 0

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.

This site uses cookies essential for authentication and security. No tracking or analytics cookies are used. Privacy Policy