CVE-2026-9187 MEDIUM

CVE-2026-9187: Abandoned Contact Form 7 <= 2.2 - Missing Authorization to Unauthenticated Arbitrary Post Deletion via 'recover_id' Parameter

Vendor Zealopensource
Product Abandoned Contact Form 7
Weakness CWE-862 · Missing authorization
Published June 16, 2026
Last update June 16, 2026

CVSS base score

5.3/10
Attack vector Network
Attack complexity Low
Privileges required None
User interaction None
Confidentiality None
Integrity Low

CVSS vector

CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:L/A:N

What the vulnerability does

01Description

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.

Explanation of Vulnerability in Simple Terms

02Summary

Abandoned Contact Form 7 versions 2.2 and earlier lack proper authorization checks, allowing unauthenticated attackers to modify form data or settings. The vulnerability requires no user interaction and is remotely exploitable over the network. Site administrators should update to a version newer than 2.2 immediately.

What an attacker can do

03Attacker Capabilities

Modify contact form data or settings without authentication.

Potential impact on your site

04Site Impact

Contact forms may be altered or disabled by unauthorized parties, disrupting visitor communication.

Conditions required to exploit

05Prerequisites

Network access only; no authentication or user interaction required.

Key dates

06Disclosure timeline

June 16, 2026 CVE published
June 16, 2026 Record updated

Related vulnerabilities

08Related CVE