CVE-2022-1905

9.8 CRITICAL

📋 TL;DR

This vulnerability allows unauthenticated attackers to execute arbitrary SQL commands on WordPress sites using the Events Made Easy plugin. Attackers can potentially steal sensitive data, modify database content, or take control of the website. All WordPress installations with vulnerable plugin versions are affected.

💻 Affected Systems

Products:
  • WordPress Events Made Easy Plugin
Versions: All versions before 2.2.81
Operating Systems: All
Default Config Vulnerable: ⚠️ Yes
Notes: Vulnerability exists in default plugin configuration and affects all WordPress installations with the vulnerable plugin version.

📦 What is this software?

⚠️ Risk & Real-World Impact

🔴

Worst Case

Complete database compromise leading to data theft, website defacement, or full administrative access to the WordPress installation.

🟠

Likely Case

Data exfiltration of user information, plugin settings, or other sensitive database content.

🟢

If Mitigated

Limited impact if proper input validation and prepared statements are implemented at the application layer.

🌐 Internet-Facing: HIGH
🏢 Internal Only: MEDIUM

🎯 Exploit Status

Public PoC: ⚠️ Yes
Weaponized: LIKELY
Unauthenticated Exploit: ⚠️ Yes
Complexity: LOW

SQL injection via AJAX endpoint available to unauthenticated users makes exploitation straightforward.

🛠️ Fix & Mitigation

✅ Official Fix

Patch Version: 2.2.81

Vendor Advisory: https://wpscan.com/vulnerability/ff5fd894-aff3-400a-8eec-fad9d50f788e

Restart Required: No

Instructions:

1. Log into WordPress admin panel. 2. Navigate to Plugins > Installed Plugins. 3. Find Events Made Easy plugin. 4. Click 'Update Now' if update is available. 5. Alternatively, download version 2.2.81+ from WordPress repository and manually update.

🔧 Temporary Workarounds

Disable vulnerable AJAX endpoint

all

Temporarily disable the vulnerable AJAX action via .htaccess or web application firewall

# Add to .htaccess to block the vulnerable endpoint
RewriteEngine On
RewriteCond %{QUERY_STRING} action=eme_ajax [NC]
RewriteRule .* - [F,L]

Web Application Firewall rule

all

Block SQL injection attempts targeting the eme_ajax action

WAF rule to block: POST requests containing 'action=eme_ajax' with SQL injection patterns

🧯 If You Can't Patch

  • Disable the Events Made Easy plugin entirely until patched
  • Implement strict input validation and parameterized queries at the application level

🔍 How to Verify

Check if Vulnerable:

Check WordPress admin panel > Plugins > Events Made Easy version number. If version is below 2.2.81, system is vulnerable.

Check Version:

wp plugin list --name='events-made-easy' --field=version

Verify Fix Applied:

Confirm plugin version is 2.2.81 or higher in WordPress admin panel.

📡 Detection & Monitoring

Log Indicators:

  • POST requests to /wp-admin/admin-ajax.php with 'action=eme_ajax' parameter containing SQL syntax
  • Unusual database queries from web server process
  • Multiple failed SQL queries from same source

Network Indicators:

  • HTTP POST requests with SQL injection payloads in parameters
  • Traffic spikes to admin-ajax.php endpoint

SIEM Query:

source="web_logs" AND uri="/wp-admin/admin-ajax.php" AND (param="action=eme_ajax" OR sql_keywords IN request_body)

🔗 References

📤 Share & Export