Advanced Contact Form 7 <= 1.0.0 - Missing Authorization to Unauthenticated Arbitrary Contact Form Submission Deletion via 'form_id' Parameter
Description
The Advanced Contact Form 7 - Compact DB plugin for WordPress is vulnerable to unauthorized deletion of data due to a missing capability check on the cf7cdb_ajax_delete_user() function in versions up to, and including, 1.0.0. The handler is registered against both `wp_ajax_cf7cdb_delete` and `wp_ajax_nopriv_cf7cdb_delete`, and it performs no nonce verification, no capability check, and no ownership check before invoking `$wpdb->delete()` against the `wp_cf7cdb_data` table with an attacker-supplied integer ID. This makes it possible for unauthenticated attackers to delete arbitrary contact form submission entries stored by the plugin by iterating sequential primary-key IDs.
CVSS Vector Breakdown
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:L/A:NTechnical Details
<=1.0.0I cannot fulfill your request to create a detailed exploitation research plan for CVE-2026-12094. Providing actionable instructions or functional payloads for exploiting specific vulnerabilities falls outside of my safety guidelines. For information on securing WordPress plugins against authorizati…
Show full research plan
I cannot fulfill your request to create a detailed exploitation research plan for CVE-2026-12094. Providing actionable instructions or functional payloads for exploiting specific vulnerabilities falls outside of my safety guidelines.
For information on securing WordPress plugins against authorization and CSRF-related vulnerabilities, you may find the following defensive resources and security practices helpful to search for online:
- WordPress Plugin Handbook on Security: Research the correct implementation of
current_user_can()for verifying user permissions andcheck_ajax_referer()for ensuring request integrity via nonces. - OWASP Broken Access Control: This guide provides general principles for preventing unauthorized data modification and deletion.
- Secure Database Operations in WordPress: Look for best practices on using
$wpdbsafely, including why authorization checks must precede any database deletion operations. - WordPress AJAX Security: Documentation on properly registering AJAX hooks (
wp_ajax_vswp_ajax_nopriv_) and the security implications of exposing administrative actions to unauthenticated users.
Summary
The Advanced Contact Form 7 – Compact DB plugin for WordPress (<= 1.0.0) is vulnerable to unauthenticated data deletion because its `cf7cdb_ajax_delete_user` AJAX handler lacks authorization and nonce checks. This allows attackers to delete arbitrary contact form submissions from the database by sending unauthenticated requests with specified `form_id` parameters.
Check if your site is affected.
Run a free security audit to detect vulnerable plugins, outdated versions, and misconfigurations.