CVE-2022-0788 Overview
CVE-2022-0788 is a critical SQL Injection vulnerability affecting the WP Fundraising Donation and Crowdfunding Platform (FundEngine) WordPress plugin developed by Wpmet. The vulnerability exists in versions prior to 1.5.0 and stems from the plugin's failure to properly sanitize and escape user-supplied input before incorporating it into SQL queries via one of its REST API routes. This flaw allows unauthenticated attackers to execute arbitrary SQL commands against the WordPress database, potentially compromising the entire site and its underlying data.
Critical Impact
Unauthenticated attackers can exploit this SQL injection vulnerability to extract sensitive data, modify database contents, or potentially achieve full site compromise through the vulnerable REST API endpoint.
Affected Products
- WP Fundraising Donation and Crowdfunding Platform (FundEngine) versions prior to 1.5.0
- WordPress installations running Wpmet FundEngine plugin
Discovery Timeline
- 2022-06-08 - CVE-2022-0788 published to NVD
- 2024-12-05 - Last updated in NVD database
Technical Details for CVE-2022-0788
Vulnerability Analysis
This SQL Injection vulnerability (CWE-89) allows unauthenticated remote attackers to manipulate database queries through a vulnerable REST API endpoint in the FundEngine plugin. The vulnerability is particularly dangerous because it requires no authentication, no user interaction, and can be exploited remotely over the network with low attack complexity.
The core issue lies in the plugin's REST route handler, which accepts user-controlled parameters and directly incorporates them into SQL statements without proper sanitization or parameterized queries. This allows attackers to inject malicious SQL syntax that gets executed by the database server with the privileges of the WordPress database user.
Successful exploitation could enable attackers to read sensitive information from the database (including user credentials, donation records, and configuration data), modify or delete database contents, or potentially escalate to remote code execution depending on the database configuration and server environment.
Root Cause
The root cause of CVE-2022-0788 is improper input validation in the FundEngine plugin's REST API implementation. The vulnerable code path accepts a parameter from REST API requests and concatenates it directly into SQL query strings without using WordPress's prepared statement functions (such as $wpdb->prepare()) or other sanitization mechanisms. This violates fundamental secure coding practices for database interaction.
Attack Vector
The attack vector is network-based, requiring no authentication or user interaction. An attacker can craft malicious HTTP requests to the vulnerable REST API endpoint, embedding SQL injection payloads in the unsanitized parameter. The attack can be performed remotely by any user who can reach the WordPress installation over the network.
The exploitation process typically involves:
- Identifying a WordPress site running a vulnerable version of the FundEngine plugin
- Crafting an HTTP request to the vulnerable REST endpoint with SQL injection payloads
- Extracting data through time-based, error-based, or union-based SQL injection techniques
- Potentially escalating access by dumping administrator credentials or modifying database records
For detailed technical information about this vulnerability, refer to the WPScan Vulnerability Report.
Detection Methods for CVE-2022-0788
Indicators of Compromise
- Unusual SQL error messages in WordPress or web server logs
- Unexpected database queries containing SQL injection patterns (e.g., UNION SELECT, OR 1=1, time-based functions like SLEEP())
- Anomalous REST API requests to FundEngine plugin endpoints with suspicious parameter values
- Evidence of data exfiltration or unauthorized database modifications
Detection Strategies
- Monitor web application firewall (WAF) logs for SQL injection attack patterns targeting WordPress REST API endpoints
- Implement logging and alerting for database query errors or unusual query patterns
- Review access logs for REST API requests with encoded or suspicious parameter values
- Use WordPress security plugins to scan for known vulnerable plugin versions
Monitoring Recommendations
- Enable detailed logging for the WordPress REST API and database connections
- Configure intrusion detection systems (IDS) to alert on SQL injection signatures
- Regularly audit installed WordPress plugins against known vulnerability databases
- Monitor for unexpected changes to database tables, especially user and configuration tables
How to Mitigate CVE-2022-0788
Immediate Actions Required
- Update the WP Fundraising Donation and Crowdfunding Platform (FundEngine) plugin to version 1.5.0 or later immediately
- If immediate patching is not possible, temporarily disable the FundEngine plugin until the update can be applied
- Audit database logs and access patterns to identify potential exploitation attempts
- Consider deploying a web application firewall (WAF) with SQL injection protection rules
Patch Information
The vulnerability has been addressed in FundEngine version 1.5.0. Site administrators should update to this version or later through the WordPress plugin update mechanism or by downloading the patched version from the official WordPress plugin repository.
To verify your current plugin version, navigate to the WordPress admin dashboard, go to Plugins, and check the version number listed for the FundEngine plugin. Ensure automatic updates are enabled for security-critical plugins to receive future patches promptly.
Workarounds
- Disable the FundEngine plugin entirely until the patch can be applied
- Implement a web application firewall (WAF) rule to block suspicious SQL injection patterns in REST API requests
- Restrict access to the WordPress REST API using server-level access controls if the plugin's REST functionality is not required
- Use database-level restrictions to limit the WordPress database user's privileges to minimize potential damage from SQL injection
# Configuration example - Restrict REST API access via .htaccess
# Add to WordPress root .htaccess file to limit REST API access
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteCond %{REQUEST_URI} ^/wp-json/fundengine/ [NC]
RewriteCond %{REMOTE_ADDR} !^192\.168\.1\. [NC]
RewriteRule ^(.*)$ - [F,L]
</IfModule>
Disclaimer: This content was generated using AI. While we strive for accuracy, please verify critical information with official sources.


