CVE-2026-103912: JetFormBuilder <= 3.6.6 - Reflected DOM-Based Cross-Site Scripting via 'query_var' Dynamic Preset via data-jfb-macro / JFB_FIELD:: Macro Renderer
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 queryvar 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 queryvar Dynamic Preset and a data-jfb-macro or JFBFIELD:: macro reference targeting that field, both of which are standard, documented plugin features.
Affected Software
Event History
Frequently Asked Questions
Which sites are actually exposed to exploitation?
Only pages that embed a form with a text field configured with a query_var Dynamic Preset and that use a data-jfb-macro or JFB_FIELD:: macro reference targeting that field are exploitable. These are standard documented plugin features, but a site without this specific combination is not affected through the described issue.
Does an attacker need an account or administrative access?
No. The issue can be exploited by an unauthenticated attacker, but exploitation requires convincing a user to take an action such as clicking an attacker-controlled link.
How can I determine whether a page is affected?
Review embedded JetFormBuilder forms for text fields using a query_var Dynamic Preset. Then check whether the affected field is referenced by data-jfb-macro or a JFB_FIELD:: macro; pages meeting both conditions are exposed.