CVE-2025-8867

6.4 MEDIUM

📋 TL;DR

This stored XSS vulnerability in the Graphina WordPress plugin allows authenticated attackers with contributor-level access or higher to inject malicious scripts into chart parameters. When users view pages containing these manipulated charts, the scripts execute in their browsers. This affects WordPress sites using Graphina plugin version 3.1.3 or earlier.

💻 Affected Systems

Products:
  • Graphina - Elementor Charts and Graphs WordPress plugin
Versions: 3.1.3 and below
Operating Systems: Any OS running WordPress
Default Config Vulnerable: ⚠️ Yes
Notes: Requires WordPress with Elementor page builder and Graphina plugin installed. Contributor-level access or higher needed for exploitation.

⚠️ 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 admin credentials, redirect users to malicious sites, deface websites, or perform actions on behalf of authenticated users.

🟠

Likely Case

Attackers with contributor access inject malicious scripts that steal session cookies or redirect users to phishing pages when they view affected charts.

🟢

If Mitigated

With proper user role management and content review processes, exploitation would be limited to trusted contributors, reducing impact.

🌐 Internet-Facing: HIGH
🏢 Internal Only: MEDIUM

🎯 Exploit Status

Public PoC: ✅ No
Weaponized: UNKNOWN
Unauthenticated Exploit: ✅ No
Complexity: MEDIUM

Requires authenticated access (contributor or higher). Exploitation involves manipulating chart widget parameters like categories, titles, and tooltip settings.

🛠️ Fix & Mitigation

✅ Official Fix

Patch Version: Version 3.1.4 or later

Vendor Advisory: https://wordpress.org/plugins/graphina-elementor-charts-and-graphs/#developers

Restart Required: No

Instructions:

1. Log into WordPress admin panel. 2. Navigate to Plugins → Installed Plugins. 3. Find 'Graphina - Elementor Charts and Graphs'. 4. Click 'Update Now' if update available. 5. Alternatively, download latest version from WordPress plugin repository and manually update.

🔧 Temporary Workarounds

Restrict User Roles

all

Limit contributor-level access to trusted users only and implement content review workflows

Disable Plugin

WordPress

Temporarily disable Graphina plugin until patched

wp plugin deactivate graphina-elementor-charts-and-graphs

🧯 If You Can't Patch

  • Implement strict content review process for all contributor submissions
  • Add web application firewall rules to block XSS payloads in chart parameters

🔍 How to Verify

Check if Vulnerable:

Check WordPress admin → Plugins → Installed Plugins → Graphina version. If version is 3.1.3 or lower, you are vulnerable.

Check Version:

wp plugin get graphina-elementor-charts-and-graphs --field=version

Verify Fix Applied:

After updating, verify Graphina plugin version shows 3.1.4 or higher in WordPress plugins list.

📡 Detection & Monitoring

Log Indicators:

  • Unusual POST requests to chart editing endpoints
  • Suspicious strings in chart parameter fields containing script tags or JavaScript

Network Indicators:

  • Unexpected script loads from chart pages
  • Data exfiltration to external domains from chart pages

SIEM Query:

source="wordpress" AND (uri_path="/wp-admin/post.php" OR uri_path="/wp-admin/admin-ajax.php") AND (http_method="POST") AND (user_agent CONTAINS "contributor") AND (request_body CONTAINS "<script>" OR request_body CONTAINS "javascript:")

🔗 References

📤 Share & Export