CVE-2026-12904

Kadence Blocks <= 3.7.7 - Insecure Direct Object Reference to Authenticated (Contributor+) Arbitrary Optimizer Data Deletion/Read/Modification via 'post_path' Parameter

2026-06-30 14:57
se1en

Strategic Overview

Status
Patched in 3.7.8
Affected Version
<= 3.7.7
CVSS
4.3Medium
Weakness type
CWE-639 · Authorization Bypass Through User-Controlled Key
CVE
CVE-2026-12904
View all Kadence Blocks — Page Builder Toolkit for Gutenberg Editor vulnerabilities

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

Vulnerability data © Defiant, Inc., provided under the Wordfence Intelligence T&C