Skip to main content

JetFormBuilder CVE-2026-103912

| EUVDEUVD-2026-96113 MEDIUM
Cross-site Scripting (XSS) (CWE-79)
2026-10-10 Wordfence GHSA-rvj6-28rw-4w42
4.7
CVSS 3.1 · Vendor: Wordfence
View

Attack ChainAIDerived

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

  1. Access
    Craft link with XSS payload in query_var parameter
  2. Delivery
    Deliver link to victim via email or chat
  3. Exploit
    Victim clicks link on vulnerable form page
  4. Execution
    Payload reflects through preset macro into DOM
  5. 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

Exploitable ONLY on pages embedding a JetFormBuilder form that has a text field configured with a query_var Dynamic Preset AND a data-jfb-macro or JFB_FIELD:: macro reference targeting that field - both are documented but non-default features that an operator must explicitly configure. Exploitation is further limited by required user interaction: the victim must click an attacker-supplied link containing the payload (UI:R). No authentication is required of the attacker (PR:N). The combination of non-default configuration plus mandatory social engineering is what drives the high attack complexity (AC:H) and sharply narrows the realistic attack surface.

Impact

This is a genuinely moderate-to-low priority issue despite being network-reachable and unauthenticated. The CVSS vector (CVSS:3.1/AV:N/AC:H/PR:N/UI:R/S:C/C:L/I:L/A:N, base 4.7) tells a consistent story: an unauthenticated remote attacker can trigger it, but AC:H and UI:R mean exploitation requires both a non-default plugin configuration AND social engineering (the victim must click an attacker-crafted link). The scope change (S:C) plus Low confidentiality/integrity impact is typical of reflected XSS executing in the victim's browser context rather than compromising the server. No EPSS score, no CISA KEV listing, and no public exploit code are present in the provided data, so the correct exploitation status is 'no public exploit identified at time of analysis.' There is no SSVC decision data supplied. The signals do not conflict - they uniformly point to a targeted, low-probability scenario rather than mass exploitation, consistent with reflected DOM-based XSS gated behind a specific preset/macro configuration. The only caveat is that AC:H and the 'standard, documented plugin features' language should be reconciled: the features are documented, but they are not enabled by default, which justifies the high complexity rating.

Exploit ScenarioDerived

An attacker identifies a site running JetFormBuilder with a form whose text field uses a query_var Dynamic Preset referenced by a data-jfb-macro or JFB_FIELD:: macro, then crafts a URL containing a malicious script in that query variable and sends it to a victim via email or chat. When the victim clicks the link, the unsanitized value is reflected into the DOM and the script executes in their browser session. No public proof-of-concept is identified in the provided data; AC:H and UI:R mean the attacker needs the specific configuration present and must convince the victim to click.

This Month Plan within 30 days. Why: MEDIUM severity (CVSS 4.0-6.9).
No patch listed yet 0.2% exploitation probability (EPSS)

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

Alert me

AnalysisAIv1 – Oct 10, 2026

Reflected DOM-based cross-site scripting in the JetFormBuilder WordPress plugin (Dynamic Blocks Form Builder) affects all versions up to and including 3.6.6, allowing unauthenticated attackers to inject arbitrary web scripts via an attacker-chosen query variable whose name matches a form preset's query_var setting. Exploitation is heavily constrained: it requires a page that embeds a form containing a text field configured with a query_var Dynamic Preset together with a data-jfb-macro or JFB_FIELD:: macro reference to that field, and it also requires the victim to click an attacker-supplied link (UI:R), which is why the assessed CVSS is 4.7 with high attack complexity despite the network vector and no authentication requirement. There is no CISA KEV listing and no public exploit identified at time of analysis; the changeset in the plugin's Trac points to an upstream fix in trunk, but a patched tagged plugin release has not been independently confirmed.

RemediationAI

Because the fix identified in this intelligence is a Trac changeset against trunk (https://plugins.trac.wordpress.org/changeset/3733851/jetformbuilder/trunk/assets/build/frontend/main.js), the patch status is best described as an upstream fix available via changeset with a patched tagged plugin release not independently confirmed; administrators should update JetFormBuilder to the earliest tagged release that includes changeset 3733851, or later, and verify the version against the vendor advisory (https://www.wordfence.com/threat-intel/vulnerabilities/id/e75b6080-25e8-462c-b785-dbdacc10dfe6?source=cve) before assuming resolution. Where immediate upgrade is not possible, the most effective compensating control is to remove the exposure rather than rely on generic hardening: reconfigure any text field that uses a query_var Dynamic Preset so it no longer maps an attacker-controllable query parameter, and delete the corresponding data-jfb-macro or JFB_FIELD:: macro references targeting those fields; the trade-off is the loss of dynamic pre-fill/macro substitution for those fields, which typically only affects specific embeds rather than the whole site. Alternatively, temporarily avoid embedding such forms on pages reachable with attacker-supplied query strings, or add a WAF/reverse-proxy rule that strips or encodes unknown query parameters on pages rendering JetFormBuilder forms, accepting the risk of false positives against legitimate preset-driven links. Server-side output escaping alone will not remediate this DOM-based sink, since the payload is consumed by JavaScript in the browser, so any mitigation must be validated against the frontend rendering path in main.js.

Affected VersionsENISA

JetFormBuilder — Dynamic Blocks Form Builder 0 ≤3.6.6

Affected Packages

euvd jetformbuilder_dynamic_blocks_form_builder 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

This is a DOM-based reflected XSS (CWE-79) rooted in the plugin's Dynamic Preset feature. The vulnerable code paths are the query-var preset source at includes/presets/sources/preset-source-query-var.php (notably the handling around lines 19 and 32) and the frontend rendering bundle assets/build/frontend/main.js, which reads the macro/preset values in the browser. When a text field is configured with a query_var Dynamic Preset and a data-jfb-macro or JFB_FIELD:: macro reference targets that field, the plugin pulls the corresponding query string value into the DOM and renders it without adequate sanitization and escaping, so attacker-controlled markup executes in the victim's browser context. Because the injection point is client-side JavaScript rather than server-side output, the risk profile is dominated by configuration and user interaction: the query_var preset and the macro reference are documented but non-default features that a site operator must deliberately enable. The CVSS vector CVSS:3.1/AV:N/AC:H/PR:N/UI:R/S:C/C:L/I:L/A:N reflects network reachability and no attacker authentication, offset by the non-default configuration dependency plus mandatory social engineering (high AC) and a scope change (S:C) typical of script execution inside the page's own trust boundary.

Know when Jetformbuilder Dynamic Blocks Form Builder 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 4.7 MEDIUM
AV:N/AC:H/PR:N/UI:R/S:C/C:L/I:L/A:N
vuln.today AI 4.7 MEDIUM

Remotely reachable and unauthenticated (AV:N/PR:N) but needs a specific preset/macro configuration and victim click, so AC:H and UI:R; browser-context execution gives S:C with C:L/I:L/A:N.

3.1 AV:N/AC:H/PR:N/UI:R/S:C/C:L/I:L/A:N
4.0 AV:N/AC:L/AT:P/PR:N/UI:A/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
High
Privileges Required
None
User Interaction
Required
Scope
Changed
Confidentiality
Low
Integrity
Low
Availability
None

DescriptionCVE.org

The JetFormBuilder - Dynamic Blocks Form Builder plugin for WordPress is vulnerable to Reflected DOM-Based Cross-Site Scripting via the '<attacker-chosen query var name matching the preset's query_var setting>' parameter in all versions up to, and including, 3.6.6 due to insufficient input sanitization and output escaping. This makes it possible for unauthenticated attackers to inject arbitrary web scripts in pages that execute if they can successfully trick a user into performing an action such as clicking on a link. This is only exploitable on pages embedding a form that has a text field configured with a query_var Dynamic Preset and a data-jfb-macro or JFB_FIELD:: macro reference targeting that field, both of which are standard, documented plugin features.

Threat Intelligence Overview

EPSS Score
0.2%
Top 92% exploitable
Prevalence
Medium
popular WordPress form-builder plugin, moderate but not universal install base
Social Media
1
Sightings
Data Quality
5 sources
Confidence: Medium

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 MEDIUM
CISA KEV No
Public POC No
EPSS 0.2%
Patch available No
Active threat No
Deciding rule
MEDIUM severity (CVSS 4.0-6.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· derived
Scheduled
Exploitation
None
System Exposure· derived
Open
Automatable
No
Human Impact· derived
Medium
Technical Impact
Partial

Priority Score

24
Low Medium High Critical
KEV: 0
EPSS: 0
CVSS: +24
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.

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