Severity by source
AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:N/A:N
Primary rating from NVD · only source for this CVE.
CVSS VectorNVD
CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:N/A:N
Lifecycle Timeline
1DescriptionCVE.org
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}}.
AnalysisAI
GenerateBlocks plugin for WordPress up to version 2.2.0 fails to verify object-level authorization on the /wp-json/generateblocks/v1/dynamic-tag-replacements REST endpoint, allowing authenticated Contributor-level users to extract sensitive information from arbitrary posts including author email addresses and post meta values through crafted dynamic tag payloads. The vulnerability checks only for edit_posts capability but does not verify access to specific posts, exposing confidential data across the entire site to low-privilege authenticated users.
Technical ContextAI
GenerateBlocks is a WordPress page builder plugin that uses dynamic tags (template variables) to insert post data via REST API. The /wp-json/generateblocks/v1/dynamic-tag-replacements endpoint processes dynamic tag syntax such as {{post_meta id:<target>|key:<meta_key>}} and {{post_title id:<target>|link:author_email}}. The vulnerability is rooted in Insecure Direct Object Reference (IDOR, CWE-639), where the REST endpoint accepts attacker-controlled post ID parameters without validating whether the requesting user has permission to read that post. The endpoint relies on WordPress capability checks (edit_posts) but bypasses the post-level access control that WordPress enforces through post_type__in, post__in, and post status filters. This is a classic authorization bypass where capability-level checks are insufficient without object-level validation. The affected code (per Trac references) includes dynamic-tags.php lines 392, 424, 501 and dynamic-tag-callbacks.php lines 64, 364, indicating the authorization gap spans multiple tag processing and callback functions.
RemediationAI
Update GenerateBlocks to a patched version released after 2.2.0. According to the Trac changeset reference (3495827 vs 3415721 in the generateblocks trunk), a fix has been committed upstream. Verify the specific patched version from the vendor and apply the update immediately via WordPress admin dashboard or command line (wp plugin update generateblocks). If a patched release is not yet available, implement a temporary compensating control by restricting REST API access: use a security plugin (e.g., Wordfence, Sucuri) to block the /wp-json/generateblocks/v1/dynamic-tag-replacements endpoint for unauthenticated users, or use .htaccess to rate-limit or restrict that endpoint. Additionally, audit WordPress user accounts and remove unnecessary Contributor-level access; restrict permissions to only users who genuinely need to create/edit content. Monitor post access logs to detect unusual cross-post queries via the REST API. Note that blocking the endpoint may break GenerateBlocks functionality for legitimate users, so test in a staging environment first. For comprehensive protection, also review post meta and author email exposure in other parts of GenerateBlocks and consider disabling the dynamic tag feature temporarily on sensitive sites until a complete patch is applied.
The isMail transport in PHPMailer before 5.2.20 might allow remote attackers to pass extra parameters to the mail comman
The Backup Migration plugin for WordPress is vulnerable to Remote Code Execution in all versions up to, and including, 1
The Hash Form - Drag & Drop Form Builder plugin for WordPress is vulnerable to arbitrary file uploads due to missing fil
The GiveWP - Donation Plugin and Fundraising Platform plugin for WordPress is vulnerable to PHP Object Injection in all
The Simple File List plugin for WordPress through version 4.2.2 contains an unauthenticated remote code execution vulner
The AI Engine WordPress plugin through version 3.1.3 exposes Bearer Token values through the /mcp/v1/ REST API endpoint
The Ninja Forms plugin before 2.9.42.1 for WordPress allows remote attackers to conduct PHP object injection attacks via
The Business Directory Plugin - Easy Listing Directories for WordPress plugin for WordPress is vulnerable to time-based
SQL injection in the NotificationX WordPress plugin (versions up to and including 2.8.2) allows unauthenticated remote a
The POST SMTP Mailer - Email log, Delivery Failure Notifications and Best Mail SMTP for WordPress plugin for WordPress i
The MasterStudy LMS WordPress Plugin - for Online Courses and Education plugin for WordPress is vulnerable to union base
The Country State City Dropdown CF7 plugin for WordPress is vulnerable to SQL Injection via the ‘cnt’ and 'sid' paramete
Same technique Authentication Bypass
View allShare
External POC / Exploit Code
Leaving vuln.today
EUVD-2026-27225
GHSA-6288-wf2g-3fwm