CVE-2024-10542

9.8 CRITICAL

📋 TL;DR

This vulnerability allows unauthenticated attackers to bypass authorization in the CleanTalk WordPress plugin and install arbitrary plugins. Attackers can achieve remote code execution by installing vulnerable plugins. All WordPress sites using CleanTalk Anti-Spam plugin versions up to 6.43.2 are affected.

💻 Affected Systems

Products:
  • Spam protection, Anti-Spam, FireWall by CleanTalk WordPress plugin
Versions: All versions up to and including 6.43.2
Operating Systems: All operating systems running WordPress
Default Config Vulnerable: ⚠️ Yes
Notes: Requires WordPress installation with the CleanTalk plugin active. No special configuration needed.

📦 What is this software?

⚠️ Risk & Real-World Impact

🔴

Worst Case

Complete site compromise via remote code execution leading to data theft, malware deployment, or site defacement.

🟠

Likely Case

Attackers install malicious plugins to gain persistent access, steal data, or use the site for further attacks.

🟢

If Mitigated

Attackers can install plugins but cannot execute code if no vulnerable plugins are available.

🌐 Internet-Facing: HIGH - WordPress sites are typically internet-facing and the exploit requires no authentication.
🏢 Internal Only: LOW - This primarily affects internet-facing WordPress installations.

🎯 Exploit Status

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

Exploit requires reverse DNS spoofing but is straightforward once that condition is met.

🛠️ Fix & Mitigation

✅ Official Fix

Patch Version: 6.43.3 or later

Vendor Advisory: https://plugins.trac.wordpress.org/changeset/3179819/cleantalk-spam-protect

Restart Required: No

Instructions:

1. Log into WordPress admin panel. 2. Go to Plugins → Installed Plugins. 3. Find CleanTalk Anti-Spam plugin. 4. Click 'Update Now' if available. 5. Alternatively, download version 6.43.3+ from WordPress.org and manually update.

🔧 Temporary Workarounds

Disable CleanTalk Plugin

all

Temporarily disable the vulnerable plugin until patched.

wp plugin deactivate cleantalk-spam-protect

Restrict Remote Calls

linux

Block access to the vulnerable RemoteCalls.php file via web server configuration.

# Apache: <LocationMatch "RemoteCalls\.php"> Deny from all </LocationMatch>
# Nginx: location ~* RemoteCalls\.php { deny all; }

🧯 If You Can't Patch

  • Remove the CleanTalk plugin completely if updating is not possible
  • Implement strict network controls to prevent reverse DNS spoofing attacks

🔍 How to Verify

Check if Vulnerable:

Check WordPress admin panel → Plugins → Installed Plugins for CleanTalk version. If version is 6.43.2 or lower, you are vulnerable.

Check Version:

wp plugin list --name=cleantalk-spam-protect --field=version

Verify Fix Applied:

Verify CleanTalk plugin version is 6.43.3 or higher in WordPress admin panel.

📡 Detection & Monitoring

Log Indicators:

  • Unusual plugin installation activity in WordPress logs
  • HTTP requests to /wp-content/plugins/cleantalk-spam-protect/lib/Cleantalk/ApbctWP/RemoteCalls.php

Network Indicators:

  • Unexpected outbound connections from WordPress server after plugin installation
  • DNS queries for reverse lookups from WordPress server

SIEM Query:

source="wordpress.log" AND ("plugin installed" OR "RemoteCalls.php")

🔗 References

📤 Share & Export