Attack ChainAIDerived
Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain
-
AccessCraft malicious admin-ajax.php URL with XSS payload in header_format
-
DeliveryDeliver link to privileged WordPress user via phishing or social engineering
-
ExploitVictim clicks crafted URL
-
ExecutionBrowser sends GET/POST to unauthenticated search_events_grouped AJAX action
-
Persistheader_format echoed unsanitized into HTML response via output_grouped()
-
ImpactMalicious script executes in victim's authenticated browser session
Vulnerability Assessment
| Weakness |
CWE
OWASP Top 10:2025
A05:2025 - Injection
ASVS 5.0
V1 - Encoding and Sanitization Output encoding, context-aware escaping
MITRE ATT&CK
2 techniques across 2 tactics: Initial Access, Execution The technique list with ATT&CK links and the kill-chain view is part of the Basic plan and up. |
| Exploitation Conditions | The Events Manager plugin must be installed and active on the target WordPress site. The attack targets the 'search_events_grouped' AJAX action, which is registered without any WordPress capability check (as shown in em-actions.php lines 891 and 920), making it reachable by unauthenticated visitors via admin-ajax.php - no attacker account is required. The critical limiting condition is that a victim user must be social-engineered into clicking or following a specially crafted URL containing the malicious header_format value (UI:R per CVSS). Without this user interaction, the reflected payload does not execute. High-value targets are privileged WordPress accounts (administrators, editors) whose session context would yield the most impactful post-exploitation capability. The shortcode code path is not exploitable via this vector because it does apply wp_kses(); only the AJAX path is affected. |
| Impact | The CVSS 3.1 score of 6.1 (Medium) with vector AV:N/AC:L/PR:N/UI:R/S:C accurately reflects the real-world risk profile. The network-accessible attack surface and absence of any authentication requirement lower the attacker's barrier considerably compared to typical reflected-XSS issues, while the mandatory user interaction (UI:R) remains the primary limiting factor - exploitation depends entirely on social-engineering a victim into clicking a crafted URL. The scope change (S:C) is appropriate: the injected script executes in the victim's browser session, enabling session cookie theft, credential harvesting, or authenticated CSRF-style actions on behalf of the victim. No EPSS data was provided in the source intelligence; no CISA KEV listing is present, indicating no confirmed active exploitation at time of analysis. No public POC code was referenced. Overall real-world risk is moderate: the unauthenticated AJAX vector removes the common 'attacker needs an account' barrier found in many WordPress XSS issues, but realistic attack volume is constrained by the phishing prerequisite. |
| Exploit ScenarioDerived | An attacker crafts a URL targeting the target WordPress site's admin-ajax.php endpoint with action=search_events_grouped and a header_format parameter containing a JavaScript payload such as a cookie-exfiltration script. The attacker delivers this URL to a privileged WordPress user - such as an administrator or editor - via phishing email, forum post, or malicious redirect. When the victim clicks the link, their browser executes the injected script in the context of the WordPress site, potentially exfiltrating session cookies or performing authenticated actions on the victim's behalf. No public POC was identified at time of analysis. |
Get an e-mail when this CVE is exploited, patched or re-scored. Free account.
Alert meAnalysisAIv1 – Aug 25, 2026
Reflected Cross-Site Scripting in the Events Manager WordPress plugin (all versions up to and including 7.4.0.1) allows unauthenticated attackers to inject arbitrary JavaScript into pages viewed by other users. The attack surface is the plugin's unauthenticated 'search_events_grouped' AJAX action, which accepts the 'header_format' parameter and passes it to output_grouped() without sanitization - bypassing the wp_kses() protection applied only at the shortcode entry point. No public exploit code or CISA KEV listing was identified at time of analysis; exploitation requires tricking a victim into clicking a crafted link.
RemediationAI
Upstream fix available (changeset); patched version 7.4.1 is inferred from the WordPress Plugin Trac changeset comparing 7.4.0.1 to 7.4.1 at https://plugins.trac.wordpress.org/changeset?old_path=/events-manager/tags/7.4.0.1&new_path=/events-manager/tags/7.4.1, but this has not been independently verified against the official WordPress plugin repository release channel - confirm availability before upgrading. The primary remediation is to update Events Manager to version 7.4.1 or later once confirmed available in the WordPress plugin directory. As a compensating control where immediate patching is not possible, administrators can implement WAF rules to block requests to admin-ajax.php where the 'action' parameter equals 'search_events_grouped'; note this will disable the grouped event search AJAX feature for all site visitors. Alternatively, a reverse proxy or hosting-level rule blocking that specific action parameter prevents exploitation without plugin changes. Site hardening by restricting unauthenticated access to wp-admin/admin-ajax.php more broadly reduces attack surface but may break other plugin functionality.
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
The Events Manager plugin (CPE: cpe:2.3:a:netweblogic:events_manager_-_calendar,_bookings,_tickets,_and_more!) registers an unauthenticated WordPress AJAX action 'search_events_grouped' in em-actions.php (lines 891 and 920). This action accepts user-supplied input including the 'header_format' parameter and passes it to EM_Events::output_grouped() in em-events.php (line 469). While the shortcode entry point applies wp_kses() - WordPress's HTML sanitizer that restricts allowed tags and attributes - the AJAX code path omits this sanitization step entirely, and em-object.php (line 1176) echoes the raw parameter value into the HTML response body. CWE-79 (Improper Neutralization of Input During Web Page Generation) is the root cause class: a single parameter traverses two distinct code paths, only one of which enforces sanitization, creating an exploitable bypass via the unprotected AJAX route.
Know when Wordpress Plugin 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:R/S:C/C:L/I:L/A:N
Unauthenticated AJAX endpoint justifies PR:N and AV:N; reflected XSS mandates UI:R; injected script runs in victim browser context (S:C); no availability impact applies.
Primary rating from Vendor (Wordfence).
CVSS VectorVendor: Wordfence
DescriptionCVE.org
The Events Manager - Calendar, Bookings, Tickets, and more! plugin for WordPress is vulnerable to Reflected Cross-Site Scripting via the 'header_format' parameter in all versions up to, and including, 7.4.0.1 due to insufficient input sanitization and output escaping. This makes it possible for unauthenticated attackers to inject arbitrary web scripts in pages that execute if they can successfully trick a user into performing an action such as clicking on a link. The shortcode entry point sanitizes 'header_format' via wp_kses(), but the unauthenticated 'search_events_grouped' AJAX action bypasses this sanitization entirely, leaving the parameter unsanitized before it is echoed into the HTML body in output_grouped().
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
Cross-Site Scripting occurs when an application accepts untrusted data and sends it to a web browser without proper validation or encoding.
Related Vulnerabilities in Events Manager Plugin SQL Injection and Auth Bypass
View all 4More in Wordpress Plugin
View allThe Backup Migration plugin for WordPress is vulnerable to Remote Code Execution in all versions up to, and including, 1
The Hash Form - Drag & Drop Form Builder plugin for WordPress is vulnerable to arbitrary file uploads due to missing fil
Authentication bypass in the LiteSpeed Cache WordPress plugin (versions prior to 6.5.0.1) allows unauthenticated remote
The Simple File List plugin for WordPress through version 4.2.2 contains an unauthenticated remote code execution vulner
The AI Engine WordPress plugin through version 3.1.3 exposes Bearer Token values through the /mcp/v1/ REST API endpoint
The SureTriggers WordPress plugin through version 1.0.82 contains a privilege escalation vulnerability that allows unaut
The Ninja Forms plugin before 2.9.42.1 for WordPress allows remote attackers to conduct PHP object injection attacks via
The Business Directory Plugin - Easy Listing Directories for WordPress plugin for WordPress is vulnerable to time-based
SQL injection in the NotificationX WordPress plugin (versions up to and including 2.8.2) allows unauthenticated remote a
The POST SMTP Mailer - Email log, Delivery Failure Notifications and Best Mail SMTP for WordPress plugin for WordPress i
The MasterStudy LMS WordPress Plugin - for Online Courses and Education plugin for WordPress is vulnerable to union base
The Email Subscribers by Icegram Express plugin for WordPress is vulnerable to SQL Injection via the ‘hash’ parameter in
EUVD-2026-65277
GHSA-gg76-jx66-hjq8
NVD
CVE.org
EPSS
Vulnrichment
Exploit-DB