Tutor LMS <= 4.0.7 — Authenticated (Subscriber+) PHP Object Injection to Remote Code Execution
CVE-2026-78175Published · Updated Action summary
Affected: ≤4.0.7Update to 4.0.8 or newer
All remediation steps- Severity
- High8.8
- CVSS
- 8.8CVSS 3.1 · CNA (Wordfence)
CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:HWhat does this vector mean?
AV:NAttack vector- Network
AC:LAttack complexity- Low
PR:LPrivileges required- Low
UI:NUser interaction- None
S:UScope- Unchanged
C:HConfidentiality- High
I:HIntegrity- High
A:HAvailability- High
- Weakness
- CWE-502 PHP Object Injection
- Required access
- Unknown
- Exploit prediction (EPSS)
- No score
- CISA KEV
- Not listed
On this page8
Am I affected?
Tutor LMS – eLearning and online course solution tutor
- Affected≤ 4.0.7
- Patched in4.0.8
Update to 4.0.8 or newer.
You are affected if you run ≤ 4.0.7. Version 4.0.8 and later are not affected by this issue.
- Check your version: in wp-admin go to Plugins → Installed Plugins and read the version under Tutor LMS – eLearning and online course solution.
- No admin access? Run a passive check of your site. It reads public files only.
What to do
- Update to version 4.0.8, or a newer patched version
- Rotate administrator passwords and application secrets if the site ran a vulnerable version while publicly reachable.
- Watch Tutor LMS – eLearning and online course solution to get an email when the next vulnerability is published.
Advisory
Source description from Wordfence Intelligence, credited to Chloe Chamberland, Wordfence Argus.
The Tutor LMS – eLearning and online course solution plugin for WordPress is vulnerable to PHP Object Injection in all versions up to, and including, 4.0.7 via the `withdraw_method_field` parameter of the `tutor_save_withdraw_account` AJAX handler. This is due to the handler lacking any capability or role check, relying solely on a nonce, while also passing attacker-supplied values through `esc_sql()`, which replaces every `%` character with a 66-byte HMAC placeholder token before the data is serialized and stored via `update_user_meta()`; when the meta is later retrieved, the placeholder is collapsed back to a single `%`, leaving serialized string length declarations 65 bytes greater than the actual content, and because array keys originate from entirely unescaped POST field names, `unserialize()` over-reads into attacker-controlled bytes, allowing injection of an arbitrary serialized object stream. This makes it possible for authenticated attackers, with subscriber-level access and above, to achieve remote code execution on the server by triggering the `GuzzleHttp\Cookie\FileCookieJar` POP chain, reachable via the `spl_autoload_register` loader in `TUTOR\RestAPI` which loads the plugin's own bundled PayPal Composer autoloader, writing attacker-controlled content to an attacker-specified filename. This has an unauthenticated pathway when user registration is enabled, which is common for students and teachers to register, and it requires the monetization feature to be enabled.
Exploits & references
Proof-of-concept & detection
No public proof-of-concept or detection template is known for this vulnerability.
Advisories & patches
- Advisorywordfence.com
Related CVEs
More in Tutor LMS – eLearning and online course solution
All 102| Severity | Vulnerability | CVE | Published |
|---|---|---|---|
| Medium6.5 | Insecure Direct Object Reference to Authenticated (Subscriber+) Sensitive Information Exposure via REST API Endpoints ≤4.1.2Update to 4.1.3 | CVE-2026-93779 | |
| Medium4.3 | 4.1.3 - Authenticated (Subscriber+) Information Exposure 1.6.4 – 4.1.3Update to 4.2.0 | CVE-2026-85570 | |
| Medium6.4 | Authenticated (Subscriber+) Stored Cross-Site Scripting ≤4.1.2Update to 4.1.3 | CVE-2026-111407 | |
| Medium4.3 | Insecure Direct Object Reference to Authenticated (Author+) Arbitrary Course Modification and Ownership Takeover via 'ID' Parameter ≤4.1.0Update to 4.1.1 | CVE-2026-92715 | |
| Medium6.4 | Authenticated (Subscriber+) Stored Cross-Site Scripting via display_name Parameter ≤4.1.0Update to 4.1.1 | CVE-2026-93681 |
- Medium6.5Insecure Direct Object Reference to Authenticated (Subscriber+) Sensitive Information Exposure via REST API Endpoints
≤4.1.2Update to 4.1.3
- Medium4.34.1.3 - Authenticated (Subscriber+) Information Exposure
1.6.4 – 4.1.3Update to 4.2.0
- Medium6.4Authenticated (Subscriber+) Stored Cross-Site Scripting
≤4.1.2Update to 4.1.3
- Medium4.3Insecure Direct Object Reference to Authenticated (Author+) Arbitrary Course Modification and Ownership Takeover via 'ID' Parameter
≤4.1.0Update to 4.1.1
- Medium6.4Authenticated (Subscriber+) Stored Cross-Site Scripting via display_name Parameter
≤4.1.0Update to 4.1.1
Same weakness (PHP Object Injection)
All PHP Object Injection| Severity | Vulnerability | CVE | Published |
|---|---|---|---|
| High7.2 | Unauthenticated Stored Cross-Site Scripting via Comment User-Agent Header | CVE-2026-120688 | |
| Critical9.8 | Unauthenticated Arbitrary File Upload via File Upload via Public Form Submission | CVE-2026-125055 | |
| Critical9.8 | Unauthenticated PHP Object Injection to Remote Code Execution via 'form' Parameter | CVE-2026-119077 | |
| Medium5.3 | Unauthenticated Sensitive Information Exposure in 'search' Parameter | CVE-2026-121518 |
- High7.2Unauthenticated Stored Cross-Site Scripting via Comment User-Agent Header
EZ SQL Reports Shortcode Widget and DB Backup
≤5.25.25Update to 5.26.45
- Critical9.8Unauthenticated Arbitrary File Upload via File Upload via Public Form Submission
Chatterbug Forms – Fast, Flexible WordPress Form Builder
≤1.0.2Update to 1.1
- Critical9.8Unauthenticated PHP Object Injection to Remote Code Execution via 'form' Parameter
ELEX WordPress HelpDesk & Customer Ticketing System
≤3.3.9Update to 3.4.0
- Medium5.3Unauthenticated Sensitive Information Exposure in 'search' Parameter
Customer Reviews for WooCommerce
≤5.127.0Update to 5.128.0
Timeline
CVE published
Severity high, CVSS 8.8
Record last updated
Sources & licenses
Wordfence record- Vulnerability data
- Wordfence Intelligence. [object Object] Licensed under the CC BY-SA 4.0.
- CVE® identifiers
- [object Object]. Used under the CVE Program. CVE® is a registered trademark of The MITRE Corporation.
- CVSS / CWE
- National Vulnerability Database (NVD), shown unmodified. This product uses the NVD API but is not endorsed or certified by the NVD.
- VulnCrest content
- Summary, remediation guidance and page layout © VulnCrest. Not sourced from NVD.
