Skip to main content

CVE-2024-9700: Forminator Forms Auth Bypass Vulnerability

CVE-2024-9700 is an authentication bypass flaw in Wpmudev Forminator Forms that allows unauthenticated attackers to modify quiz submissions through insecure direct object reference. This article covers technical details, affected versions, security impact, and mitigation strategies.

Published:

CVE-2024-9700 Overview

CVE-2024-9700 is an Insecure Direct Object Reference (IDOR) vulnerability in the Forminator Forms – Contact Form, Payment Form & Custom Form Builder plugin for WordPress. The flaw affects all versions up to and including 1.36.0. The submit_quizzes() function fails to validate the user-controlled entry_id parameter, allowing unauthenticated attackers to modify quiz submissions belonging to other users. The weakness maps to [CWE-639] Authorization Bypass Through User-Controlled Key. The vendor, WPMU DEV, addressed the issue in changeset 3172942 published through the WordPress plugin repository.

Critical Impact

Unauthenticated remote attackers can tamper with arbitrary quiz submission records stored by the Forminator plugin, compromising data integrity across WordPress sites.

Affected Products

  • WPMU DEV Forminator Forms plugin for WordPress, all versions up to and including 1.36.0
  • Free distribution of Forminator Forms available via the WordPress plugin repository
  • WordPress sites running the vulnerable quiz module exposed through front-action.php

Discovery Timeline

  • 2024-10-31 - CVE-2024-9700 published to the National Vulnerability Database (NVD)
  • 2026-06-17 - Last updated in NVD database

Technical Details for CVE-2024-9700

Vulnerability Analysis

The Forminator plugin provides form building capabilities including quiz modules that record user submissions. The submit_quizzes() function in library/modules/quizzes/front/front-action.php processes incoming quiz data and references an entry_id field supplied by the client. The handler trusts the submitted entry_id as the authoritative identifier for the record to update without verifying that the caller owns or is authorized to modify that entry.

An attacker can submit a crafted request with any valid entry_id and overwrite the stored submission. Because the endpoint accepts unauthenticated input, exploitation requires no account on the target site. The impact is limited to integrity of quiz entries; the vulnerability does not expose data confidentiality or cause service disruption.

Root Cause

The root cause is missing authorization checks on a user-controlled object reference. The submit_quizzes() handler reads the entry_id key from the request and uses it to locate and update a database row without comparing it to session state, nonces tied to the specific entry, or ownership metadata. This pattern is the defining characteristic of an Insecure Direct Object Reference flaw classified under [CWE-639].

Attack Vector

Exploitation occurs over the network against the WordPress AJAX endpoint used by the Forminator quiz module. An attacker iterates or guesses entry_id values and submits replacement quiz data in each request. No authentication, user interaction, or elevated privileges are required. See the WordPress Forminator Code Review for the vulnerable source location and the Wordfence Vulnerability Report for additional technical context.

// No verified proof-of-concept code is available for this CVE.
// Refer to the vendor advisory and Wordfence report linked above for technical details.

Detect Identity Attacks the Moment Authentication Fails

Singularity™ Identity surfaces credential misuse, lateral movement, and privilege escalation in real time, so you can contain the breach before it spreads.

Stop Identity Attacks

Detection Methods for CVE-2024-9700

Indicators of Compromise

  • Unexpected modifications to Forminator quiz entries where submission timestamps or content differ from the originating user activity
  • Web server access logs showing repeated POST requests to the Forminator AJAX endpoint with incrementing or enumerated entry_id values
  • Quiz entries updated from source IP addresses that do not match the IP recorded at initial submission

Detection Strategies

  • Review Forminator database tables for quiz submissions that were updated after their initial creation and correlate with web request logs
  • Deploy web application firewall (WAF) rules that flag unauthenticated requests to the Forminator quiz submission handler containing an entry_id parameter
  • Enable WordPress audit logging to track changes to plugin data tables and alert on anomalous update patterns

Monitoring Recommendations

  • Monitor outbound responses from the quiz endpoint for high volumes of successful updates originating from a single source
  • Track the installed Forminator plugin version across WordPress estates and alert when versions at or below 1.36.0 are detected
  • Correlate web server telemetry with database modification events to identify unauthorized entry tampering

How to Mitigate CVE-2024-9700

Immediate Actions Required

  • Upgrade the Forminator Forms plugin to a version later than 1.36.0 that contains changeset 3172942
  • Audit existing quiz submissions for unauthorized modifications and restore from backup where tampering is confirmed
  • Restrict access to the WordPress AJAX endpoint using WAF rules while patching is in progress

Patch Information

WPMU DEV fixed the authorization check in WordPress Changeset #3172942. The patch adds validation to confirm that the submitter is authorized to modify the referenced entry_id before persisting changes. Site administrators should apply the update through the WordPress plugin manager or by deploying the fixed plugin package.

Workarounds

  • Disable the Forminator quiz module on affected sites until the patched plugin version is deployed
  • Block unauthenticated POST requests to the Forminator quiz submission endpoint at the WAF or reverse proxy layer
  • Remove or deactivate the Forminator plugin on sites that do not require quiz functionality
bash
# Update the Forminator plugin using WP-CLI
wp plugin update forminator
wp plugin get forminator --field=version

Disclaimer: This content was generated using AI. While we strive for accuracy, please verify critical information with official sources.

Experience the Most Advanced Cybersecurity Platform

See how the world’s most intelligent, autonomous cybersecurity platform can protect your organization today and into the future.