CVE-2026-2593

6.4 MEDIUM

📋 TL;DR

The Greenshift WordPress plugin has a stored XSS vulnerability that allows authenticated attackers with Contributor access or higher to inject malicious scripts into pages. These scripts execute when users visit the compromised pages, potentially stealing credentials or performing unauthorized actions. All WordPress sites using vulnerable plugin versions are affected.

💻 Affected Systems

Products:
  • Greenshift – animation and page builder blocks WordPress plugin
Versions: All versions up to and including 12.8.5
Operating Systems: All operating systems running WordPress
Default Config Vulnerable: ⚠️ Yes
Notes: Requires WordPress installation with vulnerable plugin version and at least one user with Contributor role or higher.

⚠️ Manual Verification Required

This CVE does not have specific version information in our database, so automatic vulnerability detection cannot determine if your system is affected.

Why? The CVE database entry doesn't specify which versions are vulnerable (no version ranges provided by the vendor/NVD).

🔒 Custom verification scripts are available for registered users. Sign up free to download automated test scripts.

Recommended Actions:
  1. Review the CVE details at NVD
  2. Check vendor security advisories for your specific version
  3. Test if the vulnerability is exploitable in your environment
  4. Consider updating to the latest version as a precaution

⚠️ Risk & Real-World Impact

🔴

Worst Case

Attackers could steal administrator credentials, deface websites, redirect users to malicious sites, or install backdoors for persistent access.

🟠

Likely Case

Attackers with contributor accounts inject malicious scripts to steal user session cookies or credentials, potentially escalating privileges.

🟢

If Mitigated

With proper input validation and output escaping, malicious scripts are neutralized before execution, preventing exploitation.

🌐 Internet-Facing: HIGH
🏢 Internal Only: MEDIUM

🎯 Exploit Status

Public PoC: ✅ No
Weaponized: LIKELY
Unauthenticated Exploit: ✅ No
Complexity: LOW

Exploitation requires authenticated access but is straightforward once attacker has Contributor privileges.

🛠️ Fix & Mitigation

✅ Official Fix

Patch Version: 12.8.6 or later

Vendor Advisory: https://plugins.trac.wordpress.org/changeset?sfp_email=&sfph_mail=&reponame=&new=3200000%40greenshift-animation-and-page-builder-blocks%2F12.8.6&old=3199999%40greenshift-animation-and-page-builder-blocks%2F12.8.5

Restart Required: No

Instructions:

1. Log into WordPress admin panel. 2. Navigate to Plugins → Installed Plugins. 3. Find Greenshift plugin and click 'Update Now'. 4. Verify update to version 12.8.6 or higher.

🔧 Temporary Workarounds

Temporary Plugin Deactivation

all

Disable the Greenshift plugin until patched to prevent exploitation.

wp plugin deactivate greenshift-animation-and-page-builder-blocks

Restrict User Roles

all

Temporarily remove Contributor role access or limit user creation.

🧯 If You Can't Patch

  • Implement web application firewall (WAF) rules to block XSS payloads targeting _gspb_post_css and dynamicAttributes parameters.
  • Enable Content Security Policy (CSP) headers to restrict script execution sources and mitigate impact of successful injections.

🔍 How to Verify

Check if Vulnerable:

Check WordPress admin → Plugins → Installed Plugins for Greenshift version. If version is 12.8.5 or lower, system is vulnerable.

Check Version:

wp plugin get greenshift-animation-and-page-builder-blocks --field=version

Verify Fix Applied:

After update, verify Greenshift plugin shows version 12.8.6 or higher in WordPress admin panel.

📡 Detection & Monitoring

Log Indicators:

  • Unusual POST requests to wp-admin with _gspb_post_css or dynamicAttributes parameters containing script tags
  • Multiple failed login attempts followed by successful Contributor login

Network Indicators:

  • HTTP requests with JavaScript payloads in post meta or block attribute parameters
  • Unexpected outbound connections from WordPress site after page visits

SIEM Query:

source="wordpress.log" AND ("_gspb_post_css" OR "dynamicAttributes") AND ("<script>" OR "javascript:" OR "onerror=" OR "onload=")

🔗 References

📤 Share & Export