Description
The FormCraft plugin for WordPress is vulnerable to Stored Cross-Site Scripting via the '[parameter name]' parameter in all versions up to, and including, 3.9.14 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. The exploit chain combines a server-side gap — where composite matrix sub-field keys such as field2_0 and field2_1 are never passed through the sanitization loop and are stored raw via $wpdb->insert() — with a client-side gap where DOMPurify is only invoked when typeof field.value === 'string', but matrix values arrive from the server as arrays, bypassing the check before being mapped to strings and injected into the DOM. Additionally, the same sink is reachable via a second attack vector: array-typed field values are passed through htmlentities() on submission but later reversed by html_entity_decode() at formcraft-main.php:2608 and :2122, restoring the malicious payload before storage and rendering.
Published: 2026-07-23
Score: 7.2 High
EPSS: < 1% Very Low
KEV: No
Impact: n/a
Action: n/a
AI Analysis

Impact

The FormCraft WordPress plugin is vulnerable to stored cross‑site scripting (CWE‑79) because user‑supplied data is written to the database without adequate sanitization or escaping. The flaw specifically involves matrix field sub‑parameters that bypass the plugin’s sanitization loop and, after storage, are injected directly into page output. An attacker can craft a form submission that includes malicious JavaScript, which will be executed whenever any visitor loads the affected page, enabling script injection, defacement, or cookie theft.

Affected Systems

All installations of the FormCraft plugin for WordPress with versions 3.9.14 and earlier are impacted. If a site uses matrix field types in its forms and has not applied any later fix, the vulnerability exists.

Risk and Exploitability

A CVSS score of 7.2 indicates a high severity, and the EPSS score of less than 1% suggests the likelihood of public exploitation is currently low. The vulnerability is not listed in CISA’s KEV catalog. Based on the description, it is inferred that the attack vector is user input through any publicly accessible form that includes matrix fields; the attacker can send crafted data, which will be stored and executed later in the DOM. The impact includes arbitrary script execution on victim browsers, potentially leading to data theft, session hijack, or defacement.

Generated by OpenCVE AI on August 3, 2026 at 22:58 UTC.

Remediation

No vendor fix or workaround currently provided.

OpenCVE Recommended Actions

  • Upgrade the FormCraft plugin to a version higher than 3.9.14 that resolves the XSS flaw.
  • Disable or remove matrix field sub‑parameters from any forms on the site until an upgrade is possible.
  • Apply server‑side sanitization (e.g., WordPress sanitize_text_field or a custom filter) to all form input before it is saved to the database to prevent malicious payloads from being stored.

Generated by OpenCVE AI on August 3, 2026 at 22:58 UTC.

Tracking

Sign in to view the affected projects.

Advisories

No advisories yet.

History

Sun, 02 Aug 2026 20:15:00 +0000

Type Values Removed Values Added
First Time appeared Formcrafts
Formcrafts formcraft
Wordpress
Wordpress wordpress
Vendors & Products Formcrafts
Formcrafts formcraft
Wordpress
Wordpress wordpress

Thu, 23 Jul 2026 15:30:00 +0000

Type Values Removed Values Added
Metrics ssvc

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


Thu, 23 Jul 2026 06:00:00 +0000

Type Values Removed Values Added
Description The FormCraft plugin for WordPress is vulnerable to Stored Cross-Site Scripting via the '[parameter name]' parameter in all versions up to, and including, 3.9.14 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. The exploit chain combines a server-side gap — where composite matrix sub-field keys such as field2_0 and field2_1 are never passed through the sanitization loop and are stored raw via $wpdb->insert() — with a client-side gap where DOMPurify is only invoked when typeof field.value === 'string', but matrix values arrive from the server as arrays, bypassing the check before being mapped to strings and injected into the DOM. Additionally, the same sink is reachable via a second attack vector: array-typed field values are passed through htmlentities() on submission but later reversed by html_entity_decode() at formcraft-main.php:2608 and :2122, restoring the malicious payload before storage and rendering.
Title FormCraft <= 3.9.14 - Unauthenticated Stored Cross-Site Scripting via Matrix Field Sub-Parameters
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

Formcrafts Formcraft
Wordpress Wordpress
cve-icon MITRE

Status: PUBLISHED

Assigner: Wordfence

Published:

Updated: 2026-07-23T13:42:11.125Z

Reserved: 2026-04-27T16:42:07.099Z

Link: CVE-2026-7232

cve-icon Vulnrichment

Updated: 2026-07-23T13:42:07.246Z

cve-icon NVD

Status : Deferred

Published: 2026-07-23T06:16:50.607

Modified: 2026-07-23T15:14:51.013

Link: CVE-2026-7232

cve-icon Redhat

No data.

cve-icon OpenCVE Enrichment

Updated: 2026-08-03T23:00:04Z

Weaknesses
  • CWE-79

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