Skip to main content
CVE Vulnerability Database

CVE-2022-0788: Wpmet Fundengine SQLi Vulnerability

CVE-2022-0788 is a SQL injection flaw in Wpmet Fundengine WordPress plugin that allows unauthenticated attackers to execute malicious SQL queries. This article covers technical details, affected versions, and mitigation.

Published:

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:

  1. Identifying a WordPress site running a vulnerable version of the FundEngine plugin
  2. Crafting an HTTP request to the vulnerable REST endpoint with SQL injection payloads
  3. Extracting data through time-based, error-based, or union-based SQL injection techniques
  4. 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
bash
# 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.

Default Legacy - Prefooter | Experience the World’s Most Advanced Cybersecurity Platform

Experience the Most Advanced Cybersecurity Platform

See how the world’s most intelligent, autonomous cybersecurity platform can protect your organization today and into the future.