CVE-2026-12997
HighCVSS 7.5Exploitation Probability (EPSS)
Low risk46th percentile - higher than 46% of all known CVEs
Summary
The Gravity Forms plugin for WordPress is vulnerable to Directory Traversal in all versions up to and including 2.10.4 via the 'gform_uploaded_files' parameter. Unauthenticated attackers can read arbitrary files on the server, potentially exposing sensitive information.
Risk Assessment
The risk involves potential leakage of confidential data such as configuration files, passwords, or user data without authentication. The attack requires the form to be publicly accessible, which is a common scenario.
Recommendation
Immediately update the Gravity Forms plugin to version 2.10.5 or later. If an update is not possible, restrict access to the process_send_resume_link endpoint to authenticated users only.
Other vulnerabilities in Gravity Forms
See all- CVE-2026-48866Critical
A Path Traversal vulnerability in Gravity Forms by Rocketgenius Inc. allows access to files outside the restricted directory. This issue affects versions up to 2.10.0.1 inclusive.
- CVE-2026-4406Medium
The Gravity Forms plugin for WordPress up to version 2.9.30 is vulnerable to Reflected XSS via the `form_ids` parameter in the `gform_get_config` AJAX action. This is due to the `GFCommon::send_json()` method outputting JSON data wrapped in HTML comments with a `Content-Type: text/html` header instead of `application/json`. The `wp_json_encode()` function does not HTML-encode angle brackets, allowing injected HTML/script tags. The `config_nonce` is publicly embedded on every page with a Gravity Forms form, making it identical for all unauthenticated visitors within a 12-hour nonce tick. This allows unauthenticated attackers to inject arbitrary web scripts if they can trick a user into clicking a link. The vulnerability does not work against authenticated users.
- CVE-2026-4394Medium
The Gravity Forms plugin for WordPress up to version 2.9.30 has a Stored XSS vulnerability in the Credit Card field's 'Card Type' sub-field. The get_value_entry_detail() method outputs the value without escaping, and get_value_save_entry() accepts unsanitized input. The Card Type field is not rendered on the frontend but the backend accepts it from POST requests. Unauthenticated attackers can inject arbitrary scripts that execute when an admin views the entry in the dashboard.
Original NVD description (English source)
The Gravity Forms plugin for WordPress is vulnerable to Directory Traversal in all versions up to, and including, 2.10.4 via the 'gform_uploaded_files' parameter parameter. This makes it possible for unauthenticated attackers to read the contents of arbitrary files on the server, which can contain sensitive information. Exploitation requires the targeted form to not enforce login (so publicly accessible), which allows the unauthenticated attacker to reach the process_send_resume_link endpoint and supply an arbitrary recipient email address to receive the traversal-retrieved file as a notification attachment.

