CVE-2026-97342: JetFormBuilder <= 3.6.5.4 - Unauthenticated Stored Cross-Site Scripting via 'choice' Post Meta via Insert/Update Post Action
The JetFormBuilder — Dynamic Blocks Form Builder plugin for WordPress is vulnerable to Stored Cross-Site Scripting via 'choice' Post Meta via Insert/Update Post Action in all versions up to, and including, 3.6.5.4 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 injected payload is submitted via the unauthenticated wpajaxnoprivjetformbuildersubmit endpoint, stored verbatim into post meta through the Insert/Update Post action, and later rendered unescaped by the Select Field block template when the getfromdb option generator copies raw meta values into option value attributes and label content.
Affected Software
Event History
Frequently Asked Questions
Which deployments are exposed?
WordPress sites running Crocoblock JetFormBuilder version 3.6.5.4 or earlier are affected when they use an Insert/Update Post action that stores the choice value as post meta and a Select Field block configured with the get_from_db option generator renders that meta.
Does exploitation require an authenticated WordPress account or user interaction?
No. An attacker can submit a payload through the unauthenticated wp_ajax_nopriv_jet_form_builder_submit endpoint, so no WordPress account is required. The stored script executes later when a user accesses an injected page.
What is the practical impact of a successful exploit?
An attacker can store arbitrary web scripts in post meta. Those scripts are rendered unescaped into Select Field option values and labels, allowing them to execute in the browser of users who view the affected page.