CVE-2024-10571

9.8 CRITICAL

📋 TL;DR

The Chartify WordPress plugin is vulnerable to Local File Inclusion (LFI) via the 'source' parameter, allowing unauthenticated attackers to include and execute arbitrary PHP files on the server. This can lead to remote code execution, data theft, and access control bypass. All WordPress sites using Chartify plugin versions up to 2.9.5 are affected.

💻 Affected Systems

Products:
  • Chartify – WordPress Chart Plugin
Versions: All versions up to and including 2.9.5
Operating Systems: Any OS running WordPress
Default Config Vulnerable: ⚠️ Yes
Notes: Vulnerability exists in default plugin configuration; no special settings required for exploitation.

📦 What is this software?

⚠️ Risk & Real-World Impact

🔴

Worst Case

Full server compromise via remote code execution, leading to data exfiltration, ransomware deployment, or complete site takeover.

🟠

Likely Case

Unauthenticated attackers execute arbitrary PHP code to create backdoors, steal sensitive data, or deface websites.

🟢

If Mitigated

Attackers can still probe for file inclusion but cannot execute code due to proper file upload restrictions and server hardening.

🌐 Internet-Facing: HIGH
🏢 Internal Only: MEDIUM

🎯 Exploit Status

Public PoC: ⚠️ Yes
Weaponized: LIKELY
Unauthenticated Exploit: ⚠️ Yes
Complexity: LOW

Simple HTTP requests with crafted parameters can trigger the vulnerability; exploit code is publicly available.

🛠️ Fix & Mitigation

✅ Official Fix

Patch Version: 2.9.6

Vendor Advisory: https://plugins.trac.wordpress.org/browser/chart-builder/tags/2.9.6/admin/partials/charts/actions/chart-builder-charts-actions-options.php?rev=3184238

Restart Required: No

Instructions:

1. Log into WordPress admin panel. 2. Navigate to Plugins → Installed Plugins. 3. Find 'Chartify – WordPress Chart Plugin'. 4. Click 'Update Now' if available, or manually update to version 2.9.6. 5. Verify update completes successfully.

🔧 Temporary Workarounds

Disable Plugin

all

Temporarily disable the Chartify plugin until patching is possible.

wp plugin deactivate chart-builder

Web Application Firewall Rule

linux

Block requests containing malicious 'source' parameter patterns.

ModSecurity rule: SecRule ARGS:source "@rx \.\.|\/|php:\/\/" "id:1001,phase:2,deny,status:403,msg:'Chartify LFI attempt'"

🧯 If You Can't Patch

  • Immediately disable the Chartify plugin via WordPress admin or command line.
  • Implement strict file upload controls and disable PHP execution in upload directories.

🔍 How to Verify

Check if Vulnerable:

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

Check Version:

wp plugin get chart-builder --field=version

Verify Fix Applied:

Confirm Chartify plugin version is 2.9.6 or higher in WordPress admin panel.

📡 Detection & Monitoring

Log Indicators:

  • HTTP requests to /wp-admin/admin-ajax.php with 'source' parameter containing path traversal sequences (../) or PHP wrappers (php://).
  • Unusual file inclusion attempts in web server error logs.

Network Indicators:

  • Incoming requests with 'action=chart_builder_charts_actions_options' and suspicious 'source' parameter values.
  • Spike in requests to Chartify plugin endpoints from unknown IPs.

SIEM Query:

source="web_access_logs" AND uri_path="/wp-admin/admin-ajax.php" AND query_string="*source=*" AND (query_string="*../*" OR query_string="*php://*")

🔗 References

📤 Share & Export