PHP object injection in LearnPress WordPress LMS plugin
Key facts
- Attack vector
- Network
- Privileges required
- None
- User interaction
- None
- Attack complexity
- Low
- Impact type
- Code execution
- Confidentiality · integrity · availability
- High · High · High
- Fix status
- No fix listed
Attack profile from CVSS 3.1 · CNA. Fix status from CNA. Impact type from CWE-502.
Summary
The LearnPress WordPress LMS plugin up to and including 4.4.10 is affected. Untrusted data from the checkout-email request parameter is stored in the session table and later unserialized without a class restriction, which is CWE-502 (deserialization of untrusted data). An unauthenticated remote attacker can inject a PHP object through this parameter.
Written with Claude Haiku 5.5 from the sources below · 2026-10-28
Description from the CNA
The LearnPress plugin for WordPress is vulnerable to PHP Object Injection in versions up to, and including, 4.4.10 via deserialization of untrusted input from the 'checkout-email' request parameter during the checkout AJAX action. The value is passed through sanitize_text_field(), which does not strip serialized object syntax, then stored in the LearnPress session table and later fed to LP_Helper::maybe_unserialize() → unserialize() (without an allowed_classes restriction) by LP_Session_Handler::get() on subsequent requests. This makes it possible for unauthenticated attackers to inject a PHP Object.
Why it matters now
SSVC decision points
CISA ADP · SSVC 2.0.3
- Exploitation
- None
- Automatable
- Yes
- Technical impact
- Total
The decision (Track, Attend, Act) also depends on your mission and well-being impact; see CISA's SSVC guide.
Affected products
Remediation
The sources list no fixed version for LearnPress.
Written with Claude Haiku 5.5 from the sources below · 2026-10-28
Timeline
- 2026-10-18 Threatist record created from CVE-2026-104736
- 2026-10-18 Alias added: GHSA-xchc-mccm-x286
- 2026-10-25 EPSS moved to the 50th–90th percentile
References
Other 6
- https://www.wordfence.com/threat-intel/vulnerabilities/id/3e28e008-0ec1-4262-9ac0-6170cf8b8bdf?source=cve
- https://plugins.trac.wordpress.org/browser/learnpress/tags/4.4.9.1/inc/class-lp-session-handler.php#L373
- https://plugins.trac.wordpress.org/browser/learnpress/tags/4.4.9.1/inc/class-lp-checkout.php#L377
- https://plugins.trac.wordpress.org/browser/learnpress/tags/4.4.9.1/inc/class-lp-checkout.php#L523
- https://plugins.trac.wordpress.org/browser/learnpress/tags/4.4.9.1/inc/class-lp-ajax.php#L21
- https://plugins.trac.wordpress.org/changeset?reponame=&old=3750024%40learnpress&new=3750024%40learnpress
More ThimPress vulnerabilities
- TI-2024-07900 LearnPress – WordPress LMS Plugin <= 4.2.7 - Unauthenticated SQL Injection via 'c_only_fields' CVSS 3.1CRITICAL 10.0
- TI-2023-06018 LearnPress <= 4.2.5.7 - Unauthenticated SQL Injection via order_by CVSS 3.1CRITICAL 9.8
- TI-2023-05199 WP Hotel Booking < 2.0.8 - Unauthenticated SQLi CVSS 3.1CRITICAL 9.8
- TI-2024-04124 LearnPress – WordPress LMS Plugin <= 4.2.6.5 - Unauthenticated Time-Based SQL Injection CVSS 3.1CRITICAL 9.8
- TI-2023-18355 WordPress LearnPress plugin <= 4.2.3 - Authenticated Broken Access Control vulnerability CVSS 3.1HIGH 8.8
- TI-2022-03105 LearnPress < 4.1.7.2 - Unauthenticated PHP Object Injection via REST API CVSS 3.1HIGH 8.1
Sources
- CVE-2026-104736 · CVE Program
- CVE-2026-104736 · NVD
- FIRST EPSS
- GHSA-xchc-mccm-x286 · GitHub Advisory Database · CC BY 4.0
This product uses the NVD API but is not endorsed or certified by the NVD. Sources and licences