Skip to main content

Kadence Blocks EUVDEUVD-2026-40890

| CVE-2026-12904 MEDIUM
Authorization Bypass Through User-Controlled Key (CWE-639)
2026-07-01 Wordfence GHSA-pjfr-44xr-rrw5
4.3
CVSS 3.1 · Vendor: Wordfence
View

Attack ChainAIDerived

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

  1. Access
    Authenticate as WordPress Contributor
  2. Delivery
    Enumerate or infer victim post URL path
  3. Exploit
    Craft REST API request with attacker's own post_id
  4. Execution
    Set post_path to victim post's path
  5. Persist
    Bypass authorization check via post_id mismatch
  6. Impact
    Read or delete victim's optimizer analysis record

Vulnerability Assessment

Weakness
CWE
OWASP Top 10:2025
A01:2025 - Broken Access Control
ASVS 5.0
V8 - Authorization Object-level authorization, IDOR prevention
Exploitation Conditions

Exploitation requires an authenticated WordPress account with at least Contributor role, which grants the edit_post capability that passes the authorization check. The Kadence Blocks plugin must be installed and active, and the optimizer feature (Optimize_Rest_Controller endpoints) must be accessible via the WordPress REST API - this is the default configuration when the plugin is active. The attacker must know or enumerate the post_path (URL path) of the target post; on public sites, post paths are often discoverable by browsing. Limiting factors: anonymous or unauthenticated users cannot exploit this; sites with only administrator or editor accounts (no Contributor-level users) are not exploitable; the impact is restricted to optimizer analysis metadata records, not raw post content or credentials.

Impact

The official NVD CVSS 3.1 score of 4.3 (AV:N/AC:L/PR:L/UI:N/S:U/C:N/I:L/A:N) rates this as Medium but contains a notable discrepancy: the vector encodes C:N (no confidentiality impact), yet the vulnerability description explicitly states that attackers can read optimizer analysis records belonging to other users' posts - a clear confidentiality breach. This analyst assesses C:L as more accurate than C:N, which would place the score closer to 5.4. The PR:L correctly reflects that Contributor-level authentication is required, meaningfully limiting the attack surface to registered site members, not anonymous visitors. No EPSS score was provided; given the lack of KEV listing and absence of reported POC, opportunistic at-scale exploitation appears unlikely. The practical risk on a single-author or administrator-only WordPress site is negligible; risk is most relevant to membership sites, news platforms, or multi-author blogs where untrusted Contributor accounts exist. The impact is confined to optimizer metadata records - not full post content, credentials, or database access - further limiting real-world blast radius. SSVC exploitation status is inferred as Proof-of-Concept or less, automatable is yes given the straightforward REST API mechanism, and technical impact is partial.

Exploit ScenarioDerived

An attacker with a legitimate Contributor account on the target WordPress site authenticates and obtains a valid nonce, then calls the Optimize_Rest_Controller REST endpoint (e.g., get_item or delete_item) passing their own post_id - a post they authored and can edit - while setting the post_path parameter to the URL path of a victim post (e.g., /2026/01/confidential-draft/). The capability check passes because post_id is legitimately theirs, but the storage layer retrieves or deletes the optimizer record keyed on sha256 of the victim's path. No public exploit code is confirmed; however, the attack requires only standard REST API calls exploitable with basic scripting.

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

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

Alert me

AnalysisAIv1 – Jul 01, 2026

Kadence Blocks WordPress plugin versions up to and including 3.7.7 allows authenticated Contributor-level users to read or delete optimizer analysis records belonging to posts they do not own, by exploiting a parameter mismatch in four REST API endpoints of the Optimize_Rest_Controller. The authorization check binds to a user-supplied post_id while the storage layer retrieves records by sha256 of a separately supplied, attacker-controlled post_path, with no enforcement that these two parameters refer to the same post. No public exploit code or CISA KEV listing exists at time of analysis; however, the low barrier to exploitation - any registered Contributor can leverage this - makes it relevant for multi-author WordPress sites. EPSS data was not provided in the input.

RemediationAI

No specific patched release version is confirmed in the available input data; users should update Kadence Blocks to the latest version available beyond 3.7.7 and verify the fix is present by consulting the Wordfence advisory at https://www.wordfence.com/threat-intel/vulnerabilities/id/24cdd50f-742c-457c-85f7-9cccaf366e87?source=cve. As a compensating control, site administrators can remove Contributor-level user accounts or demote untrusted contributors to roles with no post editing capability (Subscriber), which eliminates the prerequisite capability check that the attacker exploits - trade-off is loss of contribution workflow for those users. Alternatively, administrators can disable or restrict REST API access to the Kadence optimizer endpoints at the network or WAF layer, noting this will break the plugin's optimizer functionality. WordPress sites with no multi-author contributor accounts are not exploitable and require no urgent action.

Affected VersionsENISA

Kadence Blocks — Page Builder Toolkit for Gutenberg Editor 0 ≤3.7.7

Affected Packages

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

The vulnerability is rooted in CWE-639 (Authorization Bypass Through User-Controlled Key), a class of IDOR where the key used for access control differs from the key used to locate data. In the Kadence Blocks plugin (CPE: cpe:2.3:a:stellarwp:kadence_blocks_-_page_builder_toolkit_for_gutenberg_editor:*:*:*:*:*:*:*:*), the Optimize_Rest_Controller exposes WordPress REST API endpoints - create_item(), get_item(), delete_item(), and bulk_delete_items() - that manage optimizer analysis records used by the plugin's page performance optimization feature. Capability checks call current_user_can('edit_post' or 'delete_post', $post_id) against a user-supplied post_id, which the attacker legitimately controls. However, the Table_Store storage layer (confirmed at Optimize/Store/Table_Store.php#L96) keys records by sha256($post_path) derived from a second, independently supplied post_path parameter (confirmed at Optimize/Path/Path.php#L60). Because no validation binds post_path to post_id, the capability check and the data retrieval operate on entirely different objects. Source code references in the WordPress plugin trac browser for tags 3.7.6 and 3.6.7 confirm the flaw exists across the affected range.

Know when Kadence Blocks Page Builder Toolkit For Gutenberg Editor 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.3 MEDIUM
AV:N/AC:L/PR:L/UI:N/S:U/C:N/I:L/A:N
vuln.today AI 5.4 MEDIUM

PR:L reflects required Contributor authentication; C:L corrects NVD's C:N since reading others' optimizer records is a confidentiality breach.

3.1 AV:N/AC:L/PR:L/UI:N/S:U/C:L/I:L/A:N
4.0 AV:N/AC:L/AT:N/PR:L/UI:N/VC:L/VI:L/VA:N/SC:N/SI:N/SA:N

Primary rating from Vendor (Wordfence).

CVSS VectorVendor: Wordfence

Attack Vector
Network
Attack Complexity
Low
Privileges Required
Low
User Interaction
None
Scope
Unchanged
Confidentiality
None
Integrity
Low
Availability
None

DescriptionCVE.org

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.

Threat Intelligence Overview

EPSS Score
0.3%
Top 79% exploitable
Prevalence
Medium
popular Gutenberg page builder plugin, hundreds of thousands of active installs
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.3%
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

22
Low Medium High Critical
KEV: 0
EPSS: 0
CVSS: +22
PoC: 0
Weaponized: 0
Threat intel: 0
Gov advisory: 0

Attack Technique

Authentication bypass attacks exploit flaws in the verification mechanisms that control access to systems and applications.

Related Vulnerabilities in Kadence Blocks Plugin IDOR and Authorization Bypass

View all 2

References

Advisories & patches
ADVISORY https://nvd.nist.gov/vuln/detail/CVE-2026-12904 REF https://plugins.trac.wordpress.org/browser/kadence-blocks/tags/3.6.7/includes/resources/Optimizer/Path/Path.php#L60 REF https://plugins.trac.wordpress.org/browser/kadence-blocks/tags/3.6.7/includes/resources/Optimizer/Rest/Optimize_Rest_Controller.php#L153 REF https://plugins.trac.wordpress.org/browser/kadence-blocks/tags/3.6.7/includes/resources/Optimizer/Rest/Optimize_Rest_Controller.php#L197 REF https://plugins.trac.wordpress.org/browser/kadence-blocks/tags/3.6.7/includes/resources/Optimizer/Rest/Optimize_Rest_Controller.php#L232 REF https://plugins.trac.wordpress.org/browser/kadence-blocks/tags/3.6.7/includes/resources/Optimizer/Rest/Optimize_Rest_Controller.php#L339 REF https://plugins.trac.wordpress.org/browser/kadence-blocks/tags/3.6.7/includes/resources/Optimizer/Rest/Optimize_Rest_Controller.php#L383 REF https://plugins.trac.wordpress.org/browser/kadence-blocks/tags/3.6.7/includes/resources/Optimizer/Rest/Optimize_Rest_Controller.php#L420 REF https://plugins.trac.wordpress.org/browser/kadence-blocks/tags/3.6.7/includes/resources/Optimizer/Rest/Optimize_Rest_Controller.php#L458 REF https://plugins.trac.wordpress.org/browser/kadence-blocks/tags/3.6.7/includes/resources/Optimizer/Store/Table_Store.php#L96 REF https://plugins.trac.wordpress.org/browser/kadence-blocks/tags/3.7.6/includes/resources/Optimizer/Path/Path.php#L60 REF https://plugins.trac.wordpress.org/browser/kadence-blocks/tags/3.7.6/includes/resources/Optimizer/Rest/Optimize_Rest_Controller.php#L153 REF https://plugins.trac.wordpress.org/browser/kadence-blocks/tags/3.7.6/includes/resources/Optimizer/Rest/Optimize_Rest_Controller.php#L197 REF https://plugins.trac.wordpress.org/browser/kadence-blocks/tags/3.7.6/includes/resources/Optimizer/Rest/Optimize_Rest_Controller.php#L232 REF https://plugins.trac.wordpress.org/browser/kadence-blocks/tags/3.7.6/includes/resources/Optimizer/Rest/Optimize_Rest_Controller.php#L339 REF https://plugins.trac.wordpress.org/browser/kadence-blocks/tags/3.7.6/includes/resources/Optimizer/Rest/Optimize_Rest_Controller.php#L383 REF https://plugins.trac.wordpress.org/browser/kadence-blocks/tags/3.7.6/includes/resources/Optimizer/Rest/Optimize_Rest_Controller.php#L420 REF https://plugins.trac.wordpress.org/browser/kadence-blocks/tags/3.7.6/includes/resources/Optimizer/Rest/Optimize_Rest_Controller.php#L458 REF https://plugins.trac.wordpress.org/browser/kadence-blocks/tags/3.7.6/includes/resources/Optimizer/Store/Table_Store.php#L96 REF https://plugins.trac.wordpress.org/changeset?sfp_email=&sfph_mail=&reponame=&old=3590217%40kadence-blocks&new=3590217%40kadence-blocks&sfp_email=&sfph_mail= REF https://www.wordfence.com/threat-intel/vulnerabilities/id/24cdd50f-742c-457c-85f7-9cccaf366e87?source=cve

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