CVE-2026-2371
Received Received - Intake
Insecure Direct Object Reference in Greenshift WordPress Plugin Allows Data Exposure

Publication date: 2026-03-07

Last updated on: 2026-03-07

Assigner: Wordfence

Description
The Greenshift – animation and page builder blocks plugin for WordPress is vulnerable to Insecure Direct Object Reference in all versions up to, and including, 12.8.3. This is due to missing authorization and post status validation in the `gspb_el_reusable_load()` AJAX handler. The handler accepts an arbitrary `post_id` parameter and renders the content of any `wp_block` post without checking `current_user_can('read_post', $post_id)` or verifying the post status. Combined with the nonce being exposed to unauthenticated users on any public page using the `[wp_reusable_render]` shortcode with `ajax="1"`, this makes it possible for unauthenticated attackers to retrieve the rendered HTML content of private, draft, or password-protected reusable blocks.
CVSS Scores
EPSS Scores
Probability:
Percentile:
Meta Information
Published
2026-03-07
Last Modified
2026-03-07
Generated
2026-05-27
AI Q&A
2026-03-07
EPSS Evaluated
2026-05-25
NVD
EUVD
Affected Vendors & Products
Showing 1 associated CPE
Vendor Product Version / Range
wordfence greenshift_animation_and_page_builder_blocks to 12.8.3 (inc)
Helpful Resources
Exploitability
CWE
CWE Icon
KEV
KEV Icon
CWE ID Description
CWE-862 The product does not perform an authorization check when an actor attempts to access a resource or perform an action.
Attack-Flow Graph
AI Powered Q&A
Can you explain this vulnerability to me?

The Greenshift – animation and page builder blocks plugin for WordPress has an Insecure Direct Object Reference (IDOR) vulnerability in all versions up to and including 12.8.3. This vulnerability arises because the AJAX handler `gspb_el_reusable_load()` accepts a `post_id` parameter and renders the content of any `wp_block` post without verifying if the current user has permission to read that post or checking the post's status.

Additionally, the security nonce used to protect this AJAX handler is exposed to unauthenticated users on any public page that uses the `[wp_reusable_render]` shortcode with `ajax="1"`. This combination allows unauthenticated attackers to retrieve the rendered HTML content of private, draft, or password-protected reusable blocks.


How can this vulnerability impact me? :

This vulnerability can allow unauthenticated attackers to access the rendered content of private, draft, or password-protected reusable blocks within the Greenshift plugin. As a result, sensitive or unpublished content intended to be restricted could be exposed publicly.

Since the attacker does not need to be authenticated, this can lead to unauthorized disclosure of confidential information, potentially harming the website's privacy and security.


How does this vulnerability affect compliance with common standards and regulations (like GDPR, HIPAA)?:

I don't know


How can this vulnerability be detected on my network or system? Can you suggest some commands?

This vulnerability involves the Greenshift WordPress plugin's AJAX handler `gspb_el_reusable_load()` accepting an arbitrary `post_id` parameter without proper authorization checks. Detection can focus on monitoring AJAX requests to this handler that include the `post_id` parameter, especially those originating from unauthenticated users.

You can detect potential exploitation attempts by inspecting web server logs or using network monitoring tools to identify requests to the AJAX endpoint related to reusable blocks, particularly those with unusual or unauthorized `post_id` values.

Suggested commands include searching your web server access logs for suspicious AJAX calls:

  • Using grep on Apache or Nginx logs to find AJAX requests to the vulnerable handler, for example: `grep 'admin-ajax.php?action=gspb_el_reusable_load' /var/log/apache2/access.log`
  • Look for requests with `post_id` parameters that correspond to private, draft, or password-protected reusable blocks.
  • Use network monitoring tools or intrusion detection systems to alert on unauthenticated requests to this AJAX action.

Since the nonce is exposed on public pages using the `[wp_reusable_render]` shortcode with `ajax="1"`, monitoring for unusual or repeated AJAX calls with this nonce from unauthenticated sources can also help detect exploitation attempts.


What immediate steps should I take to mitigate this vulnerability?

[{'type': 'paragraph', 'content': 'Immediate mitigation steps include updating the Greenshift plugin to a version that enforces proper authorization and post status validation in the `gspb_el_reusable_load()` AJAX handler.'}, {'type': 'paragraph', 'content': 'According to Resource 1, the plugin update introduces checks to prevent serving block content if the associated post is not published or is password protected, returning JSON errors in such cases. This update also improves security by excluding sensitive API keys from backups.'}, {'type': 'paragraph', 'content': 'Therefore, the primary step is to upgrade the Greenshift – animation and page builder blocks plugin to version 12.8.4 or later, where these security fixes are applied.'}, {'type': 'paragraph', 'content': 'If immediate updating is not possible, consider temporarily disabling the plugin or restricting access to the AJAX handler via web server rules or firewall to prevent unauthenticated access.'}, {'type': 'paragraph', 'content': 'Additionally, review and remove any publicly exposed shortcodes like `[wp_reusable_render ajax="1"]` that expose the nonce to unauthenticated users.'}] [1]


Ask Our AI Assistant
Need more information? Ask your question to get an AI reply (Powered by our expertise)
0/70
EPSS Chart