{"id":"CVE-2026-97638","kind":"vulnerability","aliases":["CVE-2026-97638"],"related":[],"title":"Forminator WordPress plugin: unauthenticated users can delete others' saved form drafts","description":"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.","summary":"Forminator, a WordPress form builder plugin, fails to check ownership of a draft ID, so an unauthenticated visitor can delete other people's saved drafts and overwrite them with their own submissions. An attacker needs a victim's draft ID, which can be taken from a shared 'continue later' link, and the nonce check does not stop this because any visitor can load it from a form page.","severity":"high","cvss":7.5,"epss":null,"exploited":false,"exploited_at":null,"products":[],"ecosystems":[],"tags":["forminator","package","self-hosted","wordpress"],"not_affected_if":["newer-version","plugin-not-installed"],"how_to_check":"- Check the installed Forminator version in the WordPress admin plugin list or the plugin's main file header; the sources say versions up to and including `1.57.3.1` are affected\n- Check whether the site uses Forminator's save-and-continue-later drafts feature, since the flaw is in the `previous_draft_id` parameter","fix":"- Forminator: move to a version later than `1.57.3.1`; the sources do not name the fixed version","status":"open","published_at":"2026-10-30T18:18:21+00:00","first_seen_at":"2026-10-30T18:55:30+00:00","triaged_at":"2026-10-30T18:56:43+00:00","updated_at":"2026-10-30T18:56:43+00:00","category":"package","confidence":0.7,"triage":{"at":"2026-10-30T18:56:43Z","model":"claude-haiku-5-5","output":{"fix":"- Forminator: move to a version later than `1.57.3.1`; the sources do not name the fixed version","reach":"internet","title":"Forminator WordPress plugin: unauthenticated users can delete others' saved form drafts","impact":"medium","summary":"Forminator, a WordPress form builder plugin, fails to check ownership of a draft ID, so an unauthenticated visitor can delete other people's saved drafts and overwrite them with their own submissions. An attacker needs a victim's draft ID, which can be taken from a shared 'continue later' link, and the nonce check does not stop this because any visitor can load it from a form page.","audience":"businesses","category":"package","nicknames":[],"who_cares":["wordpress","forminator","self-hosted"],"confidence":0.7,"fix_status":"unknown","needs_auth":"no","worst_case":"attackers delete or overwrite other users' saved form drafts","analyst_note":"Confirm the fixed version and whether a patch is published; check the NVD entry for the CVSS vector and the plugin's changelog.","how_to_check":"- Check the installed Forminator version in the WordPress admin plugin list or the plugin's main file header; the sources say versions up to and including `1.57.3.1` are affected\n- Check whether the site uses Forminator's save-and-continue-later drafts feature, since the flaw is in the `previous_draft_id` parameter","plain_action":"","needs_analyst":true,"not_affected_if":["plugin-not-installed","newer-version"],"who_is_affected":"Sites running the Forminator WordPress plugin version 1.57.3.1 or earlier that let visitors save and resume form drafts. Sites without Forminator, or with a newer version, are not covered by these sources. The sources do not say whether managed WordPress hosts are affected differently.","user_interaction":"no","needs_special_setup":"yes","severity_if_unknown":"high"},"cost_usd":0.000756,"input_tokens":4285,"output_tokens":654,"severity_before":"high"},"analyst_status":null,"analyst_note":null,"search":"'-2026':13A,16A '-97638':14A,17A '1.57.3.1':119C 'arbitrari':144C 'attack':57B,141C,162C,169C 'attacker-control':161C 'belong':147C 'builder':28B,101C 'bypass':195C 'check':32B,77B,192C 'contact':95C 'continu':71B,185C 'control':133C,163C 'custom':99C 'cve':12A,15A 'delet':7A,43B,143C 'direct':109C 'draft':11A,36B,48B,62B,123C,146C,155C,176C 'due':126C 'effect':194C 'fail':30B 'form':10A,27B,90B,94C,96C,98C,100C,164C,208C 'formin':1A,18B,24B,93C 'harvest':181C 'host':22B 'id':37B,63B,124C,177C 'identifi':156C 'includ':118C 'insecur':108C 'key':134C 'later':72B,186C 'link':73B,187C 'load':86B,206C 'make':136C 'may':179C 'miss':128C 'need':58B 'nomin':189C 'nonc':76B,191C,198C 'object':110C 'obtain':172C,201C 'other':8A 'overwrit':50B,158C 'ownership':33B 'packag':19B 'page':91B,209C 'paramet':125C 'payment':97C 'peopl':45B 'plugin':3A,29B,102C 'possibl':138C 'present':190C 'previous':122C 'public':200C 'refer':111C 'requir':167C 'save':9A,47B,145C 'self':21B 'self-host':20B 'share':70B,184C 'stop':80B 'submiss':55B,165C 'take':152C 'taken':67B 'unauthent':4A,40B,140C,204C 'user':5A,132C,150C 'valid':129C 'version':114C 'via':120C 'victim':60B,174C 'visitor':41B,84B,205C 'vulner':106C 'wordpress':2A,23B,26B,104C","nicknames":[],"mitigations":[],"who_affected":"Sites running the Forminator WordPress plugin version 1.57.3.1 or earlier that let visitors save and resume form drafts. Sites without Forminator, or with a newer version, are not covered by these sources. The sources do not say whether managed WordPress hosts are affected differently.","tier":"B","verified":{},"analyst_revisit_at":null,"fix_status":"unknown","audience":"businesses","plain_action":null,"first_public_at":"2026-10-30T18:18:21+00:00","kev":null,"cvss_vector":"CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:H/A:N","cvss_by":"security@wordfence.com","poc_count":0,"sources":[{"source":"nvd","external_id":"CVE-2026-97638","url":"https://nvd.nist.gov/vuln/detail/CVE-2026-97638","severity":null,"published_at":"2026-10-30T18:18:21+00:00","modified_at":"2026-10-30T18:33:26+00:00","first_seen_at":"2026-10-30T18:55:30+00:00","fetched_at":"2026-10-30T18:55:30+00:00","note":null}],"documents":[],"notice":"Free to read at a human pace. An API with keys and an MCP server are in preparation; early access: hello@infrastack.ai"}