Executive brief
Masteriyo LMS is a WordPress learning management system plugin used to deliver online courses. The plugin fails to safely validate data when retrieving user-stored metadata, allowing authenticated users (or unauthenticated in a weaker variant) to inject malicious PHP code that executes on the server. This leads to complete server compromise, with attackers able to run arbitrary commands, steal data, or deploy ransomware.
Technical details
The vulnerability is a PHP object injection (CWE-502) in metadata deserialization. User-supplied values stored as WordPress metadata are unsafely deserialized without validation, allowing an attacker to inject arbitrary PHP objects. Authenticated users with minimal account privileges can exploit this to achieve remote code execution via a gadget chain in a bundled library. An unauthenticated variant exists that yields arbitrary file write instead of code execution, requiring no authentication. The root cause is the absence of integrity checks and safe deserialization practices when reading metadata. The fix is available in version 3.4.1.
Affected products
- Masteriyo Masteriyo LMS before 3.4.1
Timeline
- 2026-09-10: disclosed
- 2026-09-12: advisory
- 2026-09-12: patched: Fixed in version 3.4.1