Vulnerabilities

Critical WordPress Plugin Vulnerability Affects Millions of Sites

March 12, 2026 · 6 min read

Table of Contents

Security researchers have disclosed a critical SQL injection vulnerability in FormCraft, one of the most widely installed WordPress form builder plugins with over 4.7 million active installations. Tracked as CVE-2026-2847 with a CVSS score of 9.8, the flaw allows unauthenticated attackers to execute arbitrary SQL queries against the WordPress database, potentially extracting sensitive data, modifying content, or achieving full site compromise.

The vulnerability was responsibly disclosed to the plugin developer on February 14, 2026, and a patched version (3.9.2) was released on March 5. However, exploitation was detected in the wild as early as March 3, two days before the patch became available, suggesting that attackers independently discovered the flaw or gained access to details before public disclosure.

Severity: Critical (CVSS 9.8)
Affected versions: FormCraft 2.0 through 3.9.1
Fixed version: 3.9.2
Exploitation status: Active exploitation confirmed

Vulnerability Details

The vulnerability exists in the plugin's form submission handler, specifically in the AJAX endpoint responsible for processing form entries with filtering and search functionality. User-supplied input passed through the fc_search parameter is incorporated into SQL queries without adequate sanitization or parameterized query usage.

An unauthenticated attacker can craft a malicious request to the wp-admin/admin-ajax.php endpoint with a specially crafted fc_search value containing SQL injection payloads. Because the vulnerable function runs with the database privileges of the WordPress installation, successful exploitation grants full read and write access to all database tables.

# Simplified example of the vulnerable pattern (do not use for exploitation)
# The fc_search parameter is passed directly into a WHERE clause
# without proper escaping or prepared statement usage
$query = "SELECT * FROM wp_fc_submissions WHERE form_data LIKE '%" . $_POST['fc_search'] . "%'";

The impact of successful exploitation includes:

Exploitation in the Wild

Multiple security firms have confirmed active exploitation of this vulnerability. The observed attack patterns fall into two categories:

Automated scanning and data extraction: The majority of observed attacks are automated scans that probe for the presence of the vulnerable plugin and, upon finding it, execute SQL injection payloads designed to extract the wp_users table. This data is exfiltrated through time-based or error-based blind SQL injection techniques, as the endpoint does not directly return query results in the response.

Targeted site compromise: A smaller number of attacks involve more sophisticated payloads that create backdoor administrator accounts, inject web shells into the database, or modify site content to redirect visitors to malicious pages. These attacks appear to be manually directed rather than fully automated.

Indicators of Compromise: Check your server access logs for unusual POST requests to admin-ajax.php with the action=fc_search_entries parameter. Look for requests containing SQL keywords such as UNION, SELECT, SLEEP, or BENCHMARK in the fc_search parameter. Also audit the wp_users table for any accounts you do not recognize.

How to Check If You Are Affected

Determining your exposure involves several checks:

For site administrators managing multiple WordPress installations, the WP-CLI tool can expedite this process:

# Check FormCraft version across multiple sites
wp plugin list --name=formcraft --fields=name,version,status

# List all administrator accounts to check for unauthorized additions
wp user list --role=administrator --fields=ID,user_login,user_email,user_registered

# Search access logs for suspicious requests (adjust path as needed)
grep "fc_search_entries" /var/log/apache2/access.log | grep -iE "union|select|sleep|benchmark"

Patching Steps

The immediate priority is updating the plugin to version 3.9.2 or later. The following steps are recommended:

WAF Rules as Temporary Mitigation

For sites where immediate patching is not feasible, web application firewall rules can provide temporary protection. Several major WAF providers, including Cloudflare, Sucuri, and Wordfence, have deployed virtual patches for this vulnerability.

If you manage your own WAF, the following ModSecurity rule provides basic protection against the most common exploitation patterns:

# ModSecurity rule to block SQL injection via fc_search parameter
# This is a temporary mitigation — patching remains essential
SecRule ARGS:fc_search "@detectSQLi" \
    "id:100001,\
    phase:2,\
    deny,\
    status:403,\
    log,\
    msg:'Potential SQL injection in FormCraft search parameter',\
    severity:'CRITICAL'"
Important: WAF rules are a temporary measure, not a substitute for patching. Sophisticated attackers can sometimes craft payloads that bypass WAF detection while still exploiting the underlying vulnerability. Apply the official patch as soon as possible.

This incident is another reminder of the risks inherent in WordPress's plugin ecosystem. The platform's extensibility is one of its greatest strengths, but each plugin represents additional attack surface maintained by third-party developers with varying security practices. Organizations running WordPress should maintain plugin inventories, establish update policies, subscribe to vulnerability feeds, and consider reducing their plugin footprint to only those that are genuinely necessary.

For sites that collected sensitive data through FormCraft forms, this vulnerability may trigger data breach notification obligations depending on jurisdiction. Consult with legal counsel if there is any indication that form submission data may have been accessed by unauthorized parties.

Powered by ZeroBot

Protect your website from bots, scrapers, and automated threats.

Try ZeroBot Free