Description
The Database for CF7 plugin for WordPress is vulnerable to Stored Cross-Site Scripting via Array Form Field Values in all versions up to, and including, 1.2.6 due to insufficient input sanitization and output escaping. This makes it possible for unauthenticated attackers to inject arbitrary web scripts in pages that will execute whenever a user accesses an injected page. This is exploitable by unauthenticated attackers because Contact Form 7 accepts array-structured input for ordinary text fields (e.g., your-name[]) via the public REST API endpoint /wp-json/contact-form-7/v1/contact-forms/{id}/feedback, and the plugin stores submitted data using $wpdb INSERT with serialize() into a custom wp_cf7db table, bypassing WordPress save-time filtering via wp_insert_post/wp_kses.
Published: 2026-07-29
Score: 7.2 High
EPSS: < 1% Very Low
KEV: No
Impact: n/a
Action: n/a
AI Analysis

Impact

The Database for CF7 plugin accepts array‑structured input for ordinary text fields through the public REST API endpoint /wp-json/contact-form-7/v1/contact-forms/{id}/feedback. The plugin stores this data in a custom wp_cf7db table using serialize() without applying WordPress sanitization or escaping. As a result, a malicious user can inject arbitrary JavaScript into the stored form data. When an affected WordPress site displays the stored submission, the injected script runs in the victim’s browser, enabling cookie theft, session hijacking, defacement, or delivery of malware. This is a classic Stored Cross‑Site Scripting (XSS) that compromises user confidentiality and integrity but does not provide direct server‑side access.

Affected Systems

The vulnerability affects the Database for CF7 plugin from code4life. All released versions up to and including 1.2.6 are impacted. Users running any of those versions with an active Contact Form 7 endpoint are at risk. The plugin stores data in a wp_cf7db table, and the REST API is publicly reachable on any WordPress installation that has the plugin active.

Risk and Exploitability

The CVSS score is 7.2, indicating high severity. The EPSS score is below 1%, suggesting a low current exploitation probability, yet the vulnerability remains a known candidate for abuse. It is not listed in CISA’s KEV catalog. Exploitation does not require authentication; any unauthenticated attacker can POST malicious payloads to the public API. The attack path is straightforward: send a specially crafted array input through the REST endpoint, the plugin stores it without sanitization, and the data is later rendered on pages accessed by any user. Because the input bypasses WordPress’ wp_insert_post/wp_kses filters, the stored script is delivered verbatim to browsers. The impact is browser‑side code execution for anyone viewing the injected page.

Generated by OpenCVE AI on August 3, 2026 at 13:47 UTC.

Remediation

No vendor fix or workaround currently provided.

OpenCVE Recommended Actions

  • Upgrade Database for CF7 to version 1.2.7 or later. This version removes the unsanitized array handling and adds proper escaping for stored form data.
  • Restrict access to the /wp-json/contact-form-7/v1/contact-forms/{id}/feedback endpoint, allowing POST requests only from authenticated users or whitelisted IP addresses, to prevent unauthenticated payload submissions.
  • Deploy a web application firewall rule to detect and block JavaScript injection payloads in POST requests to the plugin’s REST API endpoint.

Generated by OpenCVE AI on August 3, 2026 at 13:47 UTC.

Tracking

Sign in to view the affected projects.

Advisories

No advisories yet.

History

Wed, 29 Jul 2026 15:30:00 +0000

Type Values Removed Values Added
First Time appeared Code4life
Code4life database For Cf7
Wordpress
Wordpress wordpress
Vendors & Products Code4life
Code4life database For Cf7
Wordpress
Wordpress wordpress

Wed, 29 Jul 2026 14:30:00 +0000

Type Values Removed Values Added
Metrics ssvc

{'options': {'Automatable': 'yes', 'Exploitation': 'none', 'Technical Impact': 'partial'}, 'version': '2.0.3'}


Wed, 29 Jul 2026 08:30:00 +0000

Type Values Removed Values Added
Description The Database for CF7 plugin for WordPress is vulnerable to Stored Cross-Site Scripting via Array Form Field Values in all versions up to, and including, 1.2.6 due to insufficient input sanitization and output escaping. This makes it possible for unauthenticated attackers to inject arbitrary web scripts in pages that will execute whenever a user accesses an injected page. This is exploitable by unauthenticated attackers because Contact Form 7 accepts array-structured input for ordinary text fields (e.g., your-name[]) via the public REST API endpoint /wp-json/contact-form-7/v1/contact-forms/{id}/feedback, and the plugin stores submitted data using $wpdb INSERT with serialize() into a custom wp_cf7db table, bypassing WordPress save-time filtering via wp_insert_post/wp_kses.
Title Database for CF7 <= 1.2.6 - Unauthenticated Stored Cross-Site Scripting via Array Form Field Values
Weaknesses CWE-79
References
Metrics cvssV3_1

{'score': 7.2, 'vector': 'CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:C/C:L/I:L/A:N'}


Subscriptions

Code4life Database For Cf7
Wordpress Wordpress
cve-icon MITRE

Status: PUBLISHED

Assigner: Wordfence

Published:

Updated: 2026-07-29T13:20:52.312Z

Reserved: 2026-06-26T13:05:29.224Z

Link: CVE-2026-13425

cve-icon Vulnrichment

Updated: 2026-07-29T13:20:48.330Z

cve-icon NVD

Status : Deferred

Published: 2026-07-29T09:16:29.183

Modified: 2026-07-30T14:01:30.413

Link: CVE-2026-13425

cve-icon Redhat

No data.

cve-icon OpenCVE Enrichment

Updated: 2026-08-03T14:00:07Z

Weaknesses
  • CWE-79

    Improper Neutralization of Input During Web Page Generation ('Cross-site Scripting')