Skip to main content

FormCraft CVE-2026-7232

| EUVDEUVD-2026-47878 HIGH
Cross-site Scripting (XSS) (CWE-79)
2026-07-23 Wordfence GHSA-xr57-33vw-pgmj
7.2
CVSS 3.1 · Vendor: Wordfence
View

Attack ChainAIDerived

Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain

  1. Access
    Locate public FormCraft form
  2. Delivery
    Submit matrix field with array-typed JS payload
  3. Exploit
    Bypass server sanitization and DOMPurify string check
  4. Execution
    Payload stored raw in database
  5. Persist
    Admin or user views injected page
  6. Impact
    Script executes in victim browser session

Vulnerability Assessment

Weakness
CWE
OWASP Top 10:2025
A05:2025 - Injection
ASVS 5.0
V1 - Encoding and Sanitization Output encoding, context-aware escaping
MITRE ATT&CK

2 techniques across 2 tactics: Initial Access, Execution

The technique list with ATT&CK links and the kill-chain view is part of the Basic plan and up.

Exploitation Conditions

Exploitation requires the target WordPress site to run FormCraft 3.9.14 or earlier with a form that uses composite matrix fields (the sub-field keys such as field2_0/field2_1 that never enter the sanitization loop) or array-typed field values that pass through the htmlentities()/html_entity_decode() round-trip at formcraft-main.php:2608 and :2122. The attacker must reach a publicly accessible form and submit array-structured values, typically by crafting the request directly rather than using the normal UI. Per the CVSS vector (PR:N), no authentication is needed to inject the payload; however, script execution occurs only when a victim subsequently views the page or entry containing the stored payload, and the site must expose a form built with the vulnerable matrix/array field types - forms using only simple string fields are not affected because those values pass through the DOMPurify string check.

Impact

The provided CVSS 3.1 vector (AV:N/AC:L/PR:N/UI:N/S:C/C:L/I:L/A:N, base 7.2) indicates a network-reachable, low-complexity, unauthenticated attack with a scope change reflecting script execution against users separate from the injecting attacker - consistent with stored XSS. There is no EPSS score, SSVC decision, or POC indicator in the supplied intelligence, and the vulnerability is not in CISA KEV, so real-world exploitation is currently unproven. The signal that elevates priority is the unauthenticated (PR:N) precondition combined with persistence: any anonymous visitor able to submit a form can plant a payload that fires against later viewers, including logged-in administrators, which is why the impact metrics carry to Confidentiality and Integrity. On balance this is a genuine but moderate priority - real because it needs no authentication, but bounded because it is XSS (no direct RCE or data-at-rest compromise) and no active exploitation or exploit code is confirmed. Note the UI:N rating: stored XSS typically fires when a victim views the injected page, so treat 'no user interaction' as reflecting attacker-side effort rather than the absence of any victim action - verify against the vendor advisory.

Exploit ScenarioDerived

An unauthenticated attacker submits a FormCraft form containing a composite matrix field whose sub-field value carries a JavaScript payload as an array, bypassing both the server-side sanitization loop and the client-side DOMPurify string check so it is stored raw. When an administrator later opens the form entry or a page rendering that submission, the script executes in their authenticated browser session, enabling session hijacking or admin-account takeover. No public exploit code is identified at time of analysis, but the low attack complexity would make weaponization straightforward.

This Week Schedule remediation this week. Why: HIGH severity (CVSS 7.0-8.9).
No patch listed yet 0.3% exploitation probability (EPSS)

Get an e-mail when this CVE is exploited, patched or re-scored. Free account.

Alert me

AnalysisAIv1 – Jul 23, 2026

Stored cross-site scripting in the FormCraft WordPress plugin (all versions through 3.9.14) lets unauthenticated attackers persist malicious JavaScript that executes in any user's browser when an affected page is rendered. The flaw stems from a two-sided sanitization gap: composite matrix sub-field keys (e.g. field2_0) are written raw via $wpdb->insert(), and the client-side DOMPurify guard is skipped because matrix values arrive as arrays rather than strings. No public exploit identified at time of analysis and the issue is not listed in CISA KEV, but its unauthenticated, network-reachable nature (CVSS 7.2) makes it a meaningful patch priority for exposed sites.

RemediationAI

Update FormCraft to a release later than 3.9.14 once the vendor publishes a fixed build; no exact patched version is confirmed in the available data, so consult the vendor changelog at https://formcraft-wp.com/changelog/ and the Wordfence advisory at https://www.wordfence.com/threat-intel/vulnerabilities/id/6b30089a-2267-47b9-b0a5-d6eeadfe51d2?source=cve to identify the corrected release. Until a patch is applied, reduce exposure by restricting or disabling forms that use composite matrix field types (the specific vector), placing affected forms behind authentication or CAPTCHA to limit anonymous submissions, and deploying a WordPress WAF ruleset (such as Wordfence) to filter script payloads in form submissions; note that disabling matrix fields breaks any form relying on that field type, and WAF filtering can be bypassed and should be treated as a stopgap rather than a fix. Additionally, review the FormCraft submissions table for already-stored payloads, since stored XSS persists in the database even after the code is patched.

Affected VersionsENISA

FormCraft 0 ≤3.9.14

Affected Packages

euvd formcraft no fix

Source: OSV (Open Source Vulnerabilities)

Affects your stack

Affects 1 package in euvd

Checking this CVE against your own stacks and servers is part of the Basic plan and up.

Technical ContextAI · show details

The affected component is FormCraft (cpe:2.3:a:formcraft:formcraft), a drag-and-drop form-builder plugin for WordPress written in PHP. The root cause is CWE-79 (improper neutralization of input during web page generation). Two independent code paths reach the same DOM sink: (1) composite matrix sub-field keys such as field2_0 and field2_1 never enter the plugin's sanitization loop and are stored raw in the database; and (2) array-typed field values are encoded with htmlentities() on submission but then reversed by html_entity_decode() at formcraft-main.php lines 2608 and 2122, restoring the original payload before storage and rendering. On the client, DOMPurify is only invoked when typeof field.value === 'string', so array-typed matrix values bypass sanitization before being mapped to strings and injected into the DOM.

Know when Formcraft gets its next vulnerability

  • Watch products and get an email when something new is published
  • Check this CVE against your own stack and servers
  • Exploit and PoC references, threat intelligence from 22 sources

No credit card · 7-day full trial

Severity by source

Vendor (Wordfence) PRIMARY 7.2 HIGH
AV:N/AC:L/PR:N/UI:N/S:C/C:L/I:L/A:N
vuln.today AI 6.1 MEDIUM

Unauthenticated network injection (AV:N/AC:L/PR:N), but the stored payload fires only when a victim views the page (UI:R); scope change with low C/I reflects script execution in victims' browser context, no availability impact.

3.1 AV:N/AC:L/PR:N/UI:R/S:C/C:L/I:L/A:N
4.0 AV:N/AC:L/AT:N/PR:N/UI:P/VC:N/VI:N/VA:N/SC:L/SI:L/SA:N

Primary rating from Vendor (Wordfence).

CVSS VectorVendor: Wordfence

Attack Vector
Network
Attack Complexity
Low
Privileges Required
None
User Interaction
None
Scope
Changed
Confidentiality
Low
Integrity
Low
Availability
None

DescriptionCVE.org

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.

Executive ViewAI

Why It Matters

The FormCraft WordPress plugin (all versions through 3.9.14) contains a stored cross-site scripting vulnerability that allows unauthenticated attackers to inject persistent malicious scripts executing in the browsers of site visitors. Organizations running this plugin face direct risk of user account compromise, credential theft, and malware distribution to every person accessing affected pages.

Business Impact: High
Compensating Controls

No vendor-released patch identified at time of analysis. Interim mitigations: (1) Web Application Firewall rules blocking FormCraft matrix sub-field injection attempts; (2) Content Security Policy headers prohibiting inline script execution; (3) Disable plugin and migrate to alternative form builder if non-critical to operations; (4) Real-time log monitoring for suspicious form submission patterns; (5) Application-layer input encoding if plugin cannot be removed.

Threat Intelligence Overview

EPSS Score
0.3%
Top 73% exploitable
Prevalence
Medium
commercial WordPress form-builder plugin, common but not universal
Data Quality
6 sources
Confidence: High

How this decision was reached

The engine reads each signal below and applies a fixed list of rules from top to bottom. The first rule that matches sets the recommended action – like a statement, every line is shown.

SignalValue
Severity HIGH
CISA KEV No
Public POC No
EPSS 0.3%
Patch available No
Active threat No
Deciding rule
HIGH severity (CVSS 7.0-8.9)
What every action level means
Emergency Immediate action required. Criteria: CRITICAL + in CISA KEV (actively exploited) without patch, OR CRITICAL + EPSS > 30% without patch, OR CRITICAL + active threat signals without patch.
Act Now Prioritize within 24-48h. Criteria: in KEV with patch available, OR CRITICAL + public POC, OR HIGH + EPSS > 10%, OR CRITICAL + active threat, OR any CRITICAL severity.
This Week Schedule remediation this week. Criteria: HIGH severity (CVSS 7.0-8.9). Patch within normal change window.
This Month Plan within 30 days. Criteria: MEDIUM severity (CVSS 4.0-6.9), lower exploitation probability. Include in regular patch cycle.
Monitor Track and reassess. Criteria: LOW severity (CVSS 0.1-3.9), minimal exploitation risk. No immediate action needed.

SSVC AssessmentENISA

SSVC Decision
Scheduled
Exploitation
None
System Exposure· derived
Open
Automatable
Yes
Human Impact
High
Technical Impact
Partial

Priority Score

36
Low Medium High Critical
KEV: 0
EPSS: 0
CVSS: +36
PoC: 0
Weaponized: 0
Threat intel: 0
Gov advisory: 0

Attack Technique

Cross-Site Scripting occurs when an application accepts untrusted data and sends it to a web browser without proper validation or encoding.

CVE-2017-13137 CRITICAL POC
9.8 Aug 23

The FormCraft Basic plugin 1.0.5 for WordPress has SQL injection in the id parameter to form.php. Rated critical severit

CVE-2013-7187 HIGH POC
7.5 Dec 20

SQL injection vulnerability in form.php in the FormCraft plugin 1.3.7 and earlier for WordPress allows remote attackers

CVE-2023-2592 HIGH POC
7.2 Jun 27

The FormCraft WordPress plugin before 3.9.7 does not properly sanitise and escape a parameter before using it in a SQL s

CVE-2023-3501 MEDIUM POC
4.8 Aug 30

The FormCraft WordPress plugin before 1.2.7 does not sanitise and escape some of its settings, which could allow high pr

CVE-2022-1647 MEDIUM POC
4.8 Jun 08

The FormCraft WordPress plugin before 1.2.6 does not sanitise and escape Field Labels, allowing high privilege users suc

CVE-2019-15114 HIGH
8.8 Aug 16

The formcraft-form-builder plugin before 1.2.2 for WordPress has CSRF. Rated high severity (CVSS 8.8), this vulnerabilit

CVE-2019-5920 HIGH
8.8 Mar 12

Cross-site request forgery (CSRF) vulnerability in FormCraft 1.2.1 and earlier allows remote attackers to hijack the aut

CVE-2025-0817 HIGH
7.2 Feb 18

The FormCraft plugin for WordPress is vulnerable to Stored Cross-Site Scripting via SVG File uploads in all versions up

CVE-2023-22717 MEDIUM
5.4 May 15

Auth. Rated medium severity (CVSS 5.4), this vulnerability is remotely exploitable, low attack complexity. No vendor pat

CVE-2024-13783 MEDIUM
4.3 Feb 18

The FormCraft plugin for WordPress is vulnerable to unauthorized access of data due to a missing capability check in for

This site uses cookies essential for authentication and security. No tracking or analytics cookies are used. Privacy Policy