Description
The GenerateBlocks plugin for WordPress is vulnerable to Insecure Direct Object Reference in all versions up to, and including, 2.2.0. This is due to missing object-level authorization checks in the /wp-json/generateblocks/v1/dynamic-tag-replacements REST endpoint. The endpoint only verifies that the user has the edit_posts capability but does not verify the user has permission to access the specific post or its associated data referenced by attacker-controlled id parameters in dynamic tag content. This makes it possible for authenticated attackers, with Contributor-level access and above, to extract sensitive information from arbitrary posts including author email addresses and non-protected post meta values by crafting dynamic tag payloads such as {{post_meta id:<target>|key:<meta_key>}} and {{post_title id:<target>|link:author_email}}.
References8
- plugins.trac.wordpress.org/browser/generateblocks/tags/2.2.0/in…
- plugins.trac.wordpress.org/browser/generateblocks/tags/2.2.0/in…
- plugins.trac.wordpress.org/browser/generateblocks/tags/2.2.0/in…
- plugins.trac.wordpress.org/browser/generateblocks/tags/2.2.0/in…
- plugins.trac.wordpress.org/browser/generateblocks/tags/2.2.0/in…
- plugins.trac.wordpress.org/browser/generateblocks/tags/2.2.0/in…
- plugins.trac.wordpress.org/changeset?sfp_email=&sfph_mail=&repo…
- www.wordfence.com/threat-intel/vulnerabilities/id/0297d524-e016…
Metrics
- CVSS 3.1
-
6.5
MEDIUM
Score source: CNA
CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:N/A:N - EPSS — exploit probability
- 1% percentile: 46 · as of 13 November 2026
- CWE
- CWE-639
Could this be exploited in your environment?
A patch closes the known hole. A penetration test shows what an attacker can still reach — with proof.