CVE-2022-0846

9.8 CRITICAL

📋 TL;DR

This vulnerability allows unauthenticated attackers to perform SQL injection attacks against WordPress sites running the SpeakOut! Email Petitions plugin. Attackers can execute arbitrary SQL commands to steal, modify, or delete database content. All WordPress sites using vulnerable versions of this plugin are affected.

💻 Affected Systems

Products:
  • SpeakOut! Email Petitions WordPress Plugin
Versions: All versions before 2.14.15.1
Operating Systems: All operating systems running WordPress
Default Config Vulnerable: ⚠️ Yes
Notes: Affects all WordPress installations with the vulnerable plugin enabled.

📦 What is this software?

⚠️ Risk & Real-World Impact

🔴

Worst Case

Complete database compromise leading to data theft, data destruction, or full site takeover via privilege escalation.

🟠

Likely Case

Data exfiltration of sensitive information from the WordPress database, including user credentials and personal data.

🟢

If Mitigated

Limited impact if proper input validation and prepared statements are implemented.

🌐 Internet-Facing: HIGH
🏢 Internal Only: MEDIUM

🎯 Exploit Status

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

SQL injection via unsanitized 'id' parameter in dk_speakout_sendmail AJAX endpoint.

🛠️ Fix & Mitigation

✅ Official Fix

Patch Version: 2.14.15.1

Vendor Advisory: https://wpscan.com/vulnerability/b030296d-688e-44a4-a48a-140375f2c5f4

Restart Required: No

Instructions:

1. Log into WordPress admin panel. 2. Navigate to Plugins → Installed Plugins. 3. Find SpeakOut! Email Petitions. 4. Click 'Update Now' if available, or manually update to version 2.14.15.1 or later.

🔧 Temporary Workarounds

Disable vulnerable AJAX endpoint

all

Remove or restrict access to the dk_speakout_sendmail AJAX action.

Add to theme's functions.php: remove_action('wp_ajax_dk_speakout_sendmail', 'dk_speakout_sendmail'); remove_action('wp_ajax_nopriv_dk_speakout_sendmail', 'dk_speakout_sendmail');

Web Application Firewall rule

all

Block SQL injection patterns targeting the vulnerable endpoint.

WAF rule: Block requests containing SQL injection patterns to /wp-admin/admin-ajax.php with action=dk_speakout_sendmail

🧯 If You Can't Patch

  • Disable the SpeakOut! Email Petitions plugin immediately.
  • Implement strict network segmentation and limit external access to affected systems.

🔍 How to Verify

Check if Vulnerable:

Check WordPress admin → Plugins → Installed Plugins for SpeakOut! Email Petitions version.

Check Version:

wp plugin list --name='SpeakOut! Email Petitions' --field=version

Verify Fix Applied:

Confirm plugin version is 2.14.15.1 or later in WordPress admin.

📡 Detection & Monitoring

Log Indicators:

  • Unusual SQL queries in database logs
  • Multiple POST requests to /wp-admin/admin-ajax.php with action=dk_speakout_sendmail

Network Indicators:

  • SQL injection patterns in HTTP POST parameters
  • Unusual outbound database connections

SIEM Query:

source="web_logs" AND uri="/wp-admin/admin-ajax.php" AND params.action="dk_speakout_sendmail" AND (params.id CONTAINS "'" OR params.id CONTAINS "--" OR params.id CONTAINS ";")

🔗 References

📤 Share & Export