MEDIUM

CVE-2026-9187

2026-06-16 CVSS v3.1
CVSS
5.3

Description

The Abandoned Contact Form 7 plugin for WordPress is vulnerable to unauthorized arbitrary post deletion in versions up to, and including, 2.2. This is due to a missing capability check and missing nonce validation in the action__remove_abandoned() function, which is registered to both the wp_ajax_remove_abandoned and wp_ajax_nopriv_remove_abandoned hooks. The handler takes a user-supplied recover_id parameter from $_POST and passes it directly to wp_delete_post() with the force-delete flag set to true, without verifying that the ID belongs to the plugin's own cf7af_data post type. This makes it possible for unauthenticated attackers to permanently delete arbitrary posts, pages, or other content on the affected site by sending a single admin-ajax.

Summary dbcve.org

The Abandoned Contact Form 7 plugin for WordPress registers an AJAX handler (action__remove_abandoned) to both authenticated and unauthenticated hooks. The handler accepts a recover_id parameter directly from $_POST and passes it to wp_delete_post() with force deletion enabled, without verifying the post belongs to the plugin's cf7af_data post type, validating nonces, or checking user capabilities. This allows any visitor to permanently delete arbitrary posts, pages, or custom post types.

Mitigation

Update to the latest version of the plugin once available. Until then, consider disabling the plugin or restricting access to wp-admin/admin-ajax.php at the server level to block unauthenticated requests.

Weakness (CWE)

CWE-862 Missing Authorization

EPSS Score

0.23%
Probability of exploitation in next 30 days
13.9th percentile

References

View on dbcve.org
Base CVE data derived from NVD (public domain). Enrichment by dbcve.org (CC-BY-4.0). Fetched via API.
Back to CVE