The Tutor LMS – eLearning and online course solution plugin for WordPress is vulnerable to PHP Object Injection in all versions up to, and… (CVE-2026-78175)
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.
AI Analysis
Technical Summary
The Tutor LMS plugin for WordPress is vulnerable to PHP Object Injection in all versions up to and including 4.0.7. The vulnerability exists in the tutor_save_withdraw_account AJAX handler, which lacks capability or role checks and relies solely on a nonce. Attacker-supplied input is passed through esc_sql(), which replaces % characters with a 66-byte HMAC placeholder before serialization and storage via update_user_meta(). Upon retrieval, the placeholder collapses back to a single %, causing length mismatches in serialized strings. Because array keys come from unescaped POST field names, unserialize() reads beyond intended data into attacker-controlled bytes, enabling injection of arbitrary serialized objects. Authenticated attackers with subscriber-level access can achieve remote code execution by triggering a POP chain in GuzzleHttp\Cookie\FileCookieJar via the plugin's autoloader. An unauthenticated attack vector exists if user registration and monetization are enabled.
Potential Impact
Successful exploitation allows remote code execution on the server hosting the Tutor LMS plugin. This can lead to full compromise of the WordPress environment and potentially the underlying server. The vulnerability affects confidentiality, integrity, and availability, as indicated by the CVSS vector (AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H). The unauthenticated attack path increases risk in environments where user registration and monetization are enabled.
Mitigation Recommendations
No official patch or fix information is provided in the available data. Patch status is not yet confirmed — check the vendor advisory for current remediation guidance. Until a fix is available, consider disabling user registration and monetization features if enabled, to reduce exposure to the unauthenticated attack vector. Limit subscriber-level access and monitor for suspicious activity related to the withdraw_method_field AJAX handler.
The Tutor LMS – eLearning and online course solution plugin for WordPress is vulnerable to PHP Object Injection in all versions up to, and… (CVE-2026-78175)
Description
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.
CVSS v3.1
Score 8.8high
Affected software
Weaknesses
AI-Powered Analysis
Machine-generated threat intelligence
Technical Analysis
The Tutor LMS plugin for WordPress is vulnerable to PHP Object Injection in all versions up to and including 4.0.7. The vulnerability exists in the tutor_save_withdraw_account AJAX handler, which lacks capability or role checks and relies solely on a nonce. Attacker-supplied input is passed through esc_sql(), which replaces % characters with a 66-byte HMAC placeholder before serialization and storage via update_user_meta(). Upon retrieval, the placeholder collapses back to a single %, causing length mismatches in serialized strings. Because array keys come from unescaped POST field names, unserialize() reads beyond intended data into attacker-controlled bytes, enabling injection of arbitrary serialized objects. Authenticated attackers with subscriber-level access can achieve remote code execution by triggering a POP chain in GuzzleHttp\Cookie\FileCookieJar via the plugin's autoloader. An unauthenticated attack vector exists if user registration and monetization are enabled.
Potential Impact
Successful exploitation allows remote code execution on the server hosting the Tutor LMS plugin. This can lead to full compromise of the WordPress environment and potentially the underlying server. The vulnerability affects confidentiality, integrity, and availability, as indicated by the CVSS vector (AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H). The unauthenticated attack path increases risk in environments where user registration and monetization are enabled.
Mitigation Recommendations
No official patch or fix information is provided in the available data. Patch status is not yet confirmed — check the vendor advisory for current remediation guidance. Until a fix is available, consider disabling user registration and monetization features if enabled, to reduce exposure to the unauthenticated attack vector. Limit subscriber-level access and monitor for suspicious activity related to the withdraw_method_field AJAX handler.
Technical Details
- Gcve Source
- db.gcve.eu
- Osv Id
- GHSA-cg5c-mg8j-jqc2
- Osv Schema Version
- 1.4.0
- Aliases
- ["CVE-2026-78175"]
- Database Specific Severity
- HIGH
- Cvss Version
- 3.1
- State
- PUBLISHED
Threat ID: 6aa5f00455bf5e2cf5ef7cdb
Added to database: 09/13/2026, 00:36:20 UTC
Last enriched: 09/13/2026, 00:39:48 UTC
Last updated: 09/13/2026, 03:01:22 UTC
Views: 4
Community Reviews
0 reviewsCrowdsource mitigation strategies, share intel context, and vote on the most helpful responses. Sign in to add your voice and help keep defenders ahead.
Want to contribute mitigation steps or threat intel context? Sign in or create an account to join the community discussion.
Actions
Updates to AI analysis require Pro Console access. Upgrade inside Console → Billing.
Need more coverage?
Upgrade to Pro Console for AI refresh and higher limits.
For incident response and remediation, OffSeq services can help resolve threats faster.
Latest Threats
Check if your credentials are on the dark web
Instant breach scanning across billions of leaked records. Free tier available.