Kadence Blocks <= 3.7.7 - Insecure Direct Object Reference to Authenticated (Contributor+) Arbitrary Optimizer Data Deletion/Read/Modification via 'post_path' Parameter
Strategic Overview
- Status
- Patched in 3.7.8
- Affected Plugin
- Kadence Blocks — Page Builder Toolkit for Gutenberg Editor
- Affected Version
<= 3.7.7- CVSS
- 4.3Medium
- Weakness type
- CWE-639 · Authorization Bypass Through User-Controlled Key
- CVE
CVE-2026-12904
At a glance
CVE-2026-12904 is a medium-severity Authorization Bypass Through User-Controlled Key vulnerability in the Kadence Blocks WordPress plugin, affecting versions <= 3.7.7. It carries a CVSS score of 4.3 (reachable over the network; low attack complexity). Exploitation requires an authenticated account at Contributor level or above. The issue is fixed in version 3.7.8; sites on affected versions should update now. Disclosed June 2026, reported by se1en.
Vulnerability Overview
The Kadence Blocks – Gutenberg Blocks for Page Builder Features plugin for WordPress is vulnerable to Insecure Direct Object Reference in versions up to and including 3.7.7. This is due to a mismatch between the object used for authorization and the object actually accessed in the Optimize_Rest_Controller's create_item(), get_item(), delete_item(), and bulk_delete_items() endpoints — authorization is checked via current_user_can('edit_post'/'delete_post', $post_id) against the user-supplied post_id, while the storage layer keys analysis records on sha256($post_path) from a separately supplied, attacker-controlled post_path parameter, with no enforcement that post_path corresponds to post_id. This makes it possible for authenticated attackers, with Contributor-level access and above, to read or delete optimizer analysis records belonging to posts owned by other users by submitting their own post_id (which passes the capability check) together with the victim post's path.
Technical Analysis
The vector marks this flaw as remotely reachable over the network, with low attack complexity — no special timing or configuration is needed, and no interaction from a victim user.
CWE-639: Authorization Bypass Through User-Controlled Key
Kadence Blocks <= 3.7.7 carries this weakness at edit_post, and reaching it takes an account at Contributor level or above. Authorization bypass through a user-controlled key, often called insecure direct object reference, means the application looks up a record by an identifier from the request without checking that the caller owns it.
Changing a number in the request is enough to read or modify other users' records, which on commerce and membership sites means customer data. For Kadence Blocks the fix is 3.7.8: builds <= 3.7.7 are affected, anything from 3.7.8 onward is not.
Remediation
Update to version 3.7.8, or a newer patched version
How does WordSec protect against this?
Because it turns on account access, WordSec's login security is the relevant layer: role-based two-factor, captcha and brute-force limits raise the cost of getting the account this needs. None of that substitutes for the fix: Kadence Blocks 3.7.8 closes this, and updating the plugin is the step that ends it.
- Login Security
- Alerts
External References
Related records
Other vulnerabilities in Kadence Blocks — Page Builder Toolkit for Gutenberg Editor
- 9.8Kadence Blocks <= 3.1.10 Arbitrary File Upload
- 8.5CVE-2023-6964: Gutenberg Blocks by Kadence Blocks SSRF (SSRF)
CVE-2023-6964 - 6.4CVE-2026-18062: Kadence Blocks <= 3.7.8.1 Stored Cross-Site Scripting
CVE-2026-18062 - 6.4CVE-2026-18435: Kadence Blocks <= 3.7.8 Stored Cross-Site Scripting
CVE-2026-18435 - 6.4CVE-2025-5678: Kadence Blocks Stored XSS
CVE-2025-5678 - 6.4CVE-2025-1291: Gutenberg Blocks by Kadence Blocks <= 3.4.9 Stored XSS
CVE-2025-1291 - 6.4CVE-2024-12304: Gutenberg Blocks with AI by Kadence WP Stored XSS
CVE-2024-12304 - 6.4CVE-2024-10637: Kadence Blocks <= 3.2.53 Stored Cross-Site Scripting
CVE-2024-10637
Vulnerability data © Defiant, Inc., provided under the Wordfence Intelligence T&C