Attack ChainAIDerived
Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain
-
AccessReach public checkout AJAX endpoint
-
DeliverySubmit serialized payload in checkout-email
-
ExploitPayload stored in LP session table
-
Executionunserialize() on later request instantiates object
-
PersistGadget chain triggers code execution
-
ImpactFull site/data compromise
Vulnerability Assessment
| Weakness |
CWE
OWASP Top 10:2025
A08:2025 - Software or Data Integrity Failures
ASVS 5.0
V1 - Encoding and Sanitization Safe deserialization, type allowlists
MITRE ATT&CK
2 techniques across 2 tactics: Execution, Initial Access The technique list with ATT&CK links and the kill-chain view is part of the Basic plan and up. |
| Exploitation Conditions | No special configuration is required: the vulnerable path is the default LearnPress checkout AJAX action, reachable by unauthenticated users via the 'checkout-email' request parameter, so any site running LearnPress ≤4.4.10 with standard checkout enabled is exposed. The payload is stored in the LearnPress session table and deserialized by LP_Session_Handler::get() via LP_Helper::maybe_unserialize() → unserialize() with no allowed_classes restriction on a subsequent request. The key LIMITING factor is that object injection alone is inert - achieving the claimed high confidentiality/integrity/availability impact (e.g., RCE) requires a usable POP gadget chain in LearnPress, WordPress core, or another installed plugin/theme; without such a chain, practical impact is reduced. |
| Impact | All provided signals point to a genuinely high-priority flaw, with important caveats on real-world impact. The CVSS 3.1 vector (AV:N/AC:L/PR:N/UI:N) is internally consistent with the description: exploitation is network-based, low-complexity, and unauthenticated, reaching the public checkout AJAX action - nothing contradicts the 9.8 score. However, CWE-502 PHP Object Injection is a conditional-impact class: injecting a PHP object only yields the claimed C:H/I:H/A:H (typically RCE, file ops, or data exfiltration) if a usable POP gadget chain exists in LearnPress, WordPress core, or a co-installed plugin/theme. The 9.8 therefore reflects worst-case potential rather than guaranteed universal RCE. EPSS is NOT provided in the input, so exploitation probability cannot be quantified. KEV status is absent (not listed), and no POC/exploit code is referenced - this is credited to Wordfence research only. SSVC fields (automatable, technical impact, exploitation) were not supplied. Net: treat as a priority patch given unauthenticated network reachability and the historical prevalence of working WordPress POP chains, but note that active exploitation is NOT confirmed and the raw 9.8 may overstate guaranteed impact absent a gadget chain. |
| Exploit ScenarioDerived | An unauthenticated attacker submits a crafted 'checkout-email' value containing serialized PHP object syntax to the LearnPress checkout AJAX endpoint. sanitize_text_field() leaves the serialized payload intact, so it is stored in the LearnPress session table and later passed to unserialize() without allowed_classes restriction on a subsequent request, instantiating an attacker-controlled object. If a suitable POP gadget chain is present in the stack, this escalates to remote code execution or data compromise; no public exploit code is referenced at time of analysis. |
Get an e-mail when this CVE is exploited, patched or re-scored. Free account.
Alert meAnalysisAIv1 – Oct 17, 2026
Unauthenticated PHP object injection in the LearnPress WordPress LMS plugin through version 4.4.10 allows attackers to store a crafted serialized object via the checkout-email parameter, which LearnPress later deserializes without an allowed_classes restriction. The CVSS 3.1 score is 9.8 (AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H), but practical high-impact exploitation depends on a usable POP gadget chain in LearnPress, WordPress core, or another installed plugin/theme; no public exploit has been identified at time of analysis.
RemediationAI
Update LearnPress to a release later than 4.4.10; the supplied references point to WordPress plugin repository changeset 3750024 as the upstream fix, but a tagged patched release version is not independently confirmed in the provided data, so verify the current fixed version in the WordPress plugin directory or the Wordfence advisory before upgrading. If an immediate update is not possible, deploy a WAF rule that blocks checkout-email values containing PHP serialized-object tokens such as O: or C: on admin-ajax.php checkout requests - trade-off: possible false positives for unusual email strings and ongoing rule maintenance. Alternatively, temporarily disable the LearnPress checkout AJAX action or checkout page until patched - trade-off: loss of course sales. A code-level mitigation is to enforce allowed_classes => false in the LP_Helper::maybe_unserialize()/unserialize() path - trade-off: requires custom development and may break legitimate session object hydration.
Affected VersionsENISA
Affected Packages
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
LearnPress is a WordPress LMS plugin (CPE: cpe:2.3:a:thimpress:learnpress_-_wordpress_lms_plugin_for_create_and_sell_online_courses:*:*:*:*:*:*:*:*). The flaw is CWE-502 (Deserialization of Untrusted Data): the checkout AJAX action accepts the checkout-email request parameter, applies sanitize_text_field() - which does not remove PHP serialized-object syntax such as O: - and stores the value in the LearnPress session table. On a subsequent request, LP_Session_Handler::get() retrieves the session value and passes it through LP_Helper::maybe_unserialize() to unserialize() without an allowed_classes restriction, instantiating attacker-controlled objects. Object injection alone is inert; achieving the assessed high confidentiality, integrity, and availability impact, such as remote code execution, requires a viable POP gadget chain available in the WordPress environment.
Know when PHP 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
AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H
Unauthenticated, low-complexity network injection via the default checkout AJAX action warrants AV:N/AC:L/PR:N/UI:N; object injection can yield full impact where a gadget chain exists, so C/I/A:H.
Primary rating from Vendor (Wordfence).
CVSS VectorNVD
DescriptionNVD
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.
Executive ViewAI
LearnPress, the WordPress learning-management plugin used by many organizations to host online courses, carries a critical unauthenticated object-injection flaw affecting all releases through 4.4.10, and no vendor update is currently available. Any internet-facing site running this plugin - and the learner records, payment flows, and course content it holds - should be treated as potentially compromiseable until it is removed or mitigated. Leadership should care because exploitation requires no credentials and, if a usable gadget chain exists in the plugin, theme, or another installed component, could yield full site takeover and exposure of student and customer data.
No vendor-released patch identified at time of analysis. Interim mitigations: deactivate or remove LearnPress (especially on internet-facing sites), deploy WAF/reverse-proxy rules blocking serialized object payloads in the checkout-email parameter, restrict access to checkout and wp-admin endpoints, reduce the installed plugin/theme attack surface to limit available POP gadget chains, and monitor logs for serialized payloads and anomalous POST activity to checkout endpoints.
Threat Intelligence Overview
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.
What every action level means
SSVC AssessmentENISA
Priority Score
Attack Technique
Insecure deserialization occurs when an application converts serialized data (a stream of bytes representing an object's state) back into a living object without proper validation.
In PHP versions 7.1.x below 7.1.33, 7.2.x below 7.2.24 and 7.3.x below 7.3.11 in certain configurations of FPM setup it
sapi/cgi/cgi_main.c in PHP before 5.3.12 and 5.4.x before 5.4.2, when configured as a CGI script (aka php-cgi), does not
(1) boardData102.php, (2) boardData103.php, (3) boardDataJP.php, (4) boardDataNA.php, and (5) boardDataWW.php in Netgear
The '/common/download_agent_installer.php' script in the Quest KACE System Management Appliance 8.0.318 is accessible by
ProjectSend versions prior to r1720 are affected by an improper authentication vulnerability. Rated critical severity (C
Roundcube Webmail contains a critical PHP object deserialization vulnerability (CVE-2025-49113, CVSS 9.9) that allows au
Util/PHP/eval-stdin.php in PHPUnit before 4.8.28 and 5.x before 5.6.3 allows remote attackers to execute arbitrary PHP c
Palo Alto Networks PAN-OS management web interface contains an authentication bypass allowing unauthenticated attackers
Nagios XI version xi-5.7.5 is affected by OS command injection. Rated high severity (CVSS 8.8), this vulnerability is re
Nagios XI version xi-5.7.5 is affected by OS command injection. Rated high severity (CVSS 8.8), this vulnerability is re
The get_referers function in /opt/ws/bin/sblistpack in Sophos Web Appliance before 3.7.9.1 and 3.8 before 3.8.1.1 allows
The Backup Migration plugin for WordPress is vulnerable to Remote Code Execution in all versions up to, and including, 1
EUVD-2026-103224
NVD
CVE.org
GitHub PoC
Exploit-DB