Attack ChainAIDerived
Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain
-
ReconObtain WordPress administrator credentials
-
DeliverySubmit traversal path via em_options_save
-
ExploitMalicious key persisted in wp_options table
-
InstallUpload PHP payload to known server path via media library
-
C2Send unauthenticated admin-ajax.php request
-
Executeadmin_init fires include_once() on stored path
-
ImpactArbitrary PHP code execution on server
Vulnerability Assessment
| Weakness |
CWE
OWASP Top 10:2025
A05:2025 - Injection
ASVS 5.0
V5 - File Handling File inclusion prevention, allowlisting
MITRE ATT&CK
2 techniques across 2 tactics: Initial Access, Command and Control The technique list with ATT&CK links and the kill-chain view is part of the Basic plan and up. |
| Exploitation Conditions | Phase 1 (planting) requires a WordPress account with administrator-level privileges or above to invoke the em_options_save function and store the malicious traversal path in the options table - this is a non-default condition requiring prior account compromise or a separate privilege escalation. Phase 2 (triggering) requires no authentication whatsoever: once the key is stored, any HTTP request that causes admin_init to fire - including unauthenticated admin-ajax.php requests - executes include_once() against the stored path. Full escalation to code execution additionally requires that a PHP file be present at a server path the attacker controls, which in default WordPress installations is limited by the media uploader's extension blocklist; sites that block PHP uploads reduce the impact to information disclosure or inclusion of pre-existing server-side PHP files. The critical limiting factor for initial exploitation is administrator credential access; the critical amplifying factor is that the trigger is fully unauthenticated once the key is stored. |
| Impact | The provided CVSS 6.6 score (AV:N/AC:H/PR:H/UI:N/S:U/C:H/I:H/A:H) reflects the elevated privilege bar - administrator - required to plant the malicious option key, and AC:H captures the dependency on PHP file upload capability for full remote code execution. However, the two-phase attack structure means the real-world risk exceeds what the aggregate score communicates: once the malicious key is stored, execution is triggered unauthenticated on every admin-ajax.php request, meaning account remediation alone does not stop ongoing exploitation. EPSS data was not provided in this dataset, preventing quantitative exploitation probability comparison. The vulnerability is not in the CISA KEV catalog and no public exploit code has been identified, but the attack chain is mechanically straightforward and derivable directly from the description, reducing time-to-weaponize after an initial admin compromise. Organizations running Events Manager on sites that permit PHP file uploads - whether in shared hosting or self-managed WordPress environments - should treat patching as urgent regardless of the moderate CVSS base score, since the unauthenticated trigger phase removes the usual privilege-gated protection after initial exploitation. |
| Exploit ScenarioDerived | An attacker who has obtained WordPress administrator credentials - via phishing, credential stuffing, or a separate account-takeover vulnerability - submits a path traversal string to the em_options_save function, storing it in the WordPress options database. The attacker also uploads a PHP web shell via the media library to a known server path. From that point, any unauthenticated HTTP request to admin-ajax.php fires admin_init, which calls include_once() against the stored traversal path, executing the web shell and granting persistent, unauthenticated remote code execution on the server. No public exploit code has been identified at time of analysis, but the chain is mechanically derivable from the vulnerability description alone. |
Get an e-mail when this CVE is exploited, patched or re-scored. Free account.
Alert meAnalysisAIv1 – Aug 25, 2026
Local File Inclusion in the Events Manager WordPress plugin (all versions through 7.3.7.4) allows an administrator-level attacker to store a malicious PHP file traversal path via the em_options_save function, which is then executed without any further authentication on every admin_init hook invocation - including unauthenticated admin-ajax.php requests. The two-phase attack converts a high-privilege write primitive into a persistent, unauthenticated code execution trigger that survives account remediation until the stored option is manually purged. No public exploit code has been identified at time of analysis, and this vulnerability is not listed in the CISA KEV catalog.
RemediationAI
Upgrade the Events Manager plugin to version 7.4 or later, as the SVN changeset (https://plugins.trac.wordpress.org/changeset?old_path=/events-manager/tags/7.3.7.4&new_path=/events-manager/tags/7.4) indicates the fix was introduced in that release; the exact patched version is inferred from the Trac diff path and should be confirmed against the WordPress plugin repository changelog before deployment. Monitor the Wordfence advisory at https://www.wordfence.com/threat-intel/vulnerabilities/id/aead557d-aec9-4218-9e5f-01b58432486f for confirmation of the fix version. As an immediate compensating control prior to patching, audit the WordPress wp_options table for unexpected traversal-pattern values in Events Manager option keys and remove any found. Block PHP file uploads at the server level (via mime-type and extension enforcement in nginx/Apache or the WordPress media library) to eliminate the RCE escalation path - note this does not prevent LFI against pre-existing PHP files on the server, only the attacker-uploaded payload variant. Restricting admin-ajax.php access by IP allowlist removes the unauthenticated trigger surface but may break legitimate AJAX functionality and requires careful testing.
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
CWE-98 (Improper Control of Filename for Include/Require Statement in PHP Program) describes the root cause: unsanitized user input is stored as a WordPress option and later passed directly to include_once(), enabling path traversal to arbitrary PHP files. The vulnerable code is confirmed by Wordfence and Trac source browser references in admin/em-options.php at lines L47, L56, L400, and L405 across both the 7.3.6 and 7.3.7.4 plugin tags. WordPress's admin_init hook is a broad action that fires on every administrative request - critically including unauthenticated admin-ajax.php calls - making the stored traversal key a persistent detonation mechanism. Full escalation to remote code execution requires a PHP file to be present at a server path the attacker controls, typically via WordPress's media uploader if PHP extension uploads are permitted, or via another write primitive. The affected CPE is cpe:2.3:a:netweblogic:events_manager_-_calendar,_bookings,_tickets,_and_more!:*:*:*:*:*:*:*:*.
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:H/PR:H/UI:N/S:U/C:H/I:H/A:H
PR:H reflects the administrator access required to store the malicious key; AC:H reflects the prerequisite of a PHP-uploadable file at a known path for full RCE escalation.
Primary rating from Vendor (Wordfence).
CVSS VectorVendor: Wordfence
DescriptionCVE.org
The Events Manager - Calendar, Bookings, Tickets, and more! plugin for WordPress is vulnerable to Local File Inclusion in all versions up to, and including, 7.3.7.4 via the em_options_save function. This makes it possible for authenticated attackers, with administrator-level access and above, to include and execute arbitrary .php files on the server, allowing the execution of any PHP code in those files. This can be used to bypass access controls, obtain sensitive data, or achieve code execution in cases where .php file types can be uploaded and included. The stored traversal key is subsequently executed via an include_once() call that fires on every admin_init invocation - including unauthenticated admin-ajax.php requests - meaning once the malicious key is stored by an administrator, the inclusion is triggered without any further authentication or capability check.
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
Local File Inclusion vulnerabilities occur when an application accepts user-controlled input to specify which file should be loaded or executed, typically through functions like PHP's `include()`, `require()`, or `fopen()`.
Information disclosure occurs when an application unintentionally exposes sensitive data that aids attackers in reconnaissance or directly compromises security.
Remote Code Execution represents the critical moment when an attacker successfully runs arbitrary code on a target system without physical access.
Related Vulnerabilities in Events Manager Plugin SQL Injection and Auth Bypass
View all 4In 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-65278
GHSA-rrx3-phxr-v64f
NVD
CVE.org
EPSS
Vulnrichment
Exploit-DB