CVE-2026-2371

Greenshift <= 12.8.3 - Missing Authorization to Unauthenticated Private Reusable Block Disclosure via 'gspb_el_reusable_load'

Published Mar 6, 2026 CVSS 3.1 · 5.3 Medium EPSS < 1% KEV · Not listed
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.

Analysis

AI-generated

Technical impact

The Greenshift – animation and page builder blocks plugin for WordPress contains an insecure direct object reference flaw 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 verifying that the current user has permission to read the post or that the post is public. Consequently, unauthenticated attackers can retrieve the rendered HTML of private, draft, or password‑protected reusable blocks, exposing confidential content. This vulnerability is classified as CWE‑862 (Missing Authorization).

Affected Systems

All installations of the Greenshift – animation and page builder blocks plugin for WordPress up to and including version 12.8.3 are affected. Users running these or earlier versions of the plugin on any WordPress site can be compromised.

Risk and Exploitability

The CVSS score is 5.3, indicating medium severity, while the EPSS score is below 1%, implying a low likelihood of exploitation. The vulnerability is not listed in the CISA KEV catalog. The likely attack vector is a remote unauthenticated request to the gspb_el_reusable_load AJAX endpoint, where the attacker can supply any post_id and obtain the rendered block content. Because the nonce is exposed on publicly accessible pages that use the wp_reusable_render shortcode with ajax="1", the attack does not require user authentication or elevated privileges, making this an exploitable unauthorized disclosure scenario.

Remediation

No solution or workaround provided in the CVE record.

OpenCVE Recommended Actions

  • Update the Greenshift plugin to a version that includes the missing authorization check, such as 12.8.4 or later.
  • If an immediate update is not possible, restrict access to the gspb_el_reusable_load AJAX endpoint by ensuring only authenticated users can call it, for example by adding a permission check before processing the request.
  • Remove or sanitize the wp_reusable_render shortcode with ajax="1" from all publicly accessible pages to prevent pose exposure of the nonce and the unauthenticated AJAX entry point.

Generated by OpenCVE AI on April 15, 2026 at 17:50 UTC.

Tracking

Sign in to view the affected projects.

Advisories

No advisories available
History
Type Values Removed Values Added
Metrics ssvc

{'options': {'Automatable': 'yes', 'Exploitation': 'none', 'Technical Impact': 'partial'}, 'version': '2.0.3'}

Type Values Removed Values Added
First Time appeared Wordpress
Wordpress wordpress
Wpsoul
Wpsoul greenshift – Animation And Page Builder Blocks
Vendors & Products Wordpress
Wordpress wordpress
Wpsoul
Wpsoul greenshift – Animation And Page Builder Blocks
Type Values Removed Values Added
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.
Title Greenshift <= 12.8.3 - Missing Authorization to Unauthenticated Private Reusable Block Disclosure via 'gspb_el_reusable_load'
Weaknesses CWE-862
References
Metrics cvssV3_1

{'score': 5.3, 'vector': 'CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:L/I:N/A:N'}

Weaknesses

Sources

Status
PUBLISHED
Assigner
Wordfence
Published
Updated
Apr 8, 2026, 4:52 PM
Reserved
Feb 11, 2026, 8:40 PM
Status
Deferred
Published
Mar 7, 2026, 12:16 AM
Modified
Jun 17, 2026, 10:30 AM