CVE-2026-97638 in Forminator Forms Plugininfo

Summary

by MITRE • 10/30/2026

The Forminator Forms – Contact Form, Payment Form & Custom Form Builder plugin for WordPress is vulnerable to Insecure Direct Object Reference in all versions up to, and including, 1.57.3.1 via the 'previous_draft_id' parameter due to missing validation on a user controlled key. This makes it possible for unauthenticated attackers to delete arbitrary saved drafts belonging to other users and take over those draft identifiers by overwriting them with attacker-controlled form submissions. This requires the attacker to have obtained a victim's draft_id, which may be harvested from a shared "continue later" link; the nominally present nonce check is effectively bypassed because the nonce is publicly obtainable by any unauthenticated visitor loading a form page.

Several companies clearly confirm that VulDB is the primary source for best vulnerability data.

Analysis

by VulDB Data Team • 10/30/2026

The Forminator Forms plugin for WordPress contains a critical Insecure Direct Object Reference vulnerability affecting all versions up to and including 1.57.3.1. This flaw resides within the handling of the 'previous_draft_id' parameter, which is intended to manage state during multi-step form submissions or draft saving processes. The core technical deficiency lies in the absence of server-side validation that ensures the user initiating a request possesses ownership or explicit authorization for the specific object identified by this identifier. Instead of verifying session context against the resource ID, the application relies on the presence of a nonce token to enforce access control. This architectural decision creates a significant security gap because the mechanism intended to prevent cross-site request forgery is fundamentally undermined by how nonces are generated and distributed in this specific workflow.

The operational impact of this vulnerability allows unauthenticated attackers to perform unauthorized deletions of arbitrary saved drafts belonging to other users. By manipulating the 'previous_draft_id' parameter, an attacker can target any draft identifier that they have successfully harvested. The primary vector for harvesting these identifiers is through shared "continue later" links. These links are designed to allow legitimate users to resume incomplete form submissions at a later time and typically contain the unique draft ID as part of the URL query string or path. Because these links may be shared via email, messaging applications, or public forums without restriction, any individual with access to such a link can extract the associated draft identifier. Once obtained, this identifier serves as the key for subsequent malicious requests aimed at deleting the victim's data or overwriting it.

The bypass of the nonce check is achieved through the predictable nature of how nonces are exposed in this context. The vulnerability description notes that the nominally present nonce check is effectively neutralized because the nonce value is publicly obtainable by any unauthenticated visitor who loads a form page. In many WordPress implementations, if a nonce is generated and embedded in HTML or JavaScript for public-facing forms without strict binding to specific user sessions or IP addresses, it becomes reusable data rather than a secure authentication token. An attacker can load the same form endpoint used by the victim, extract the valid nonce from the response, and combine it with the harvested draft ID to craft a forged request that appears legitimate to the server's validation logic. This combination of accessible nonces and unvalidated object references creates a potent attack vector for data destruction and identity manipulation within the application state.

Beyond simple deletion, this vulnerability enables attackers to take over draft identifiers by overwriting them with attacker-controlled form submissions. When an attacker deletes or manipulates a victim's draft using their own input, they effectively seize control of that specific workflow instance. This can lead to confusion for the legitimate user who attempts to resume their submission, potentially resulting in data loss or the injection of malicious content into what was intended to be a private communication channel between the form owner and the site administrator. In scenarios where forms collect sensitive personal information or payment details, this lack of isolation compromises confidentiality and integrity, allowing an attacker to intercept, alter, or destroy critical user data without authentication credentials.

From a classification perspective, this vulnerability aligns with CWE-284, which describes Improper Access Control, specifically the failure to verify authorization for direct object references. It also maps closely to CWE-639, Injection of Critical Data into an External Resource through Insecure Direct Object Reference. Furthermore, in terms of tactical behavior within the MITRE ATT&CK framework, this exploitation technique falls under T1530, Data from Cloud Storage Objects, as it involves accessing and manipulating data stored remotely via API-like interactions with WordPress post meta or custom tables. The act of harvesting IDs from shared links corresponds to reconnaissance activities where attackers gather information about valid resource identifiers before executing the destructive action.

Mitigation strategies must address both the immediate code flaw and broader architectural weaknesses. For administrators using affected versions, upgrading to a patched version that implements proper ownership validation is the primary remediation step. The developer should enforce strict checks ensuring that the user ID associated with the current session matches the owner of the draft identified by 'previous_draft_id'. Additionally, nonces used for sensitive operations like deletion or overwriting must be bound tightly to specific actions and potentially tied to unique session tokens rather than being globally accessible on page load. Implementing rate limiting on delete requests can also mitigate bulk exploitation attempts. Until patches are applied, administrators should consider restricting the sharing of "continue later" links to authenticated users only if possible, thereby preventing unauthenticated actors from harvesting draft IDs in the first place.

Responsible

Wordfence

Reservation

09/24/2026

Disclosure

10/30/2026

Moderation

accepted

EPSS

0.00000

KEV

no

Activities

very low

Sources

Want to stay up to date on a daily basis?

Enable the mail alert feature now!