CVE-2025-9215

6.5 MEDIUM

📋 TL;DR

This vulnerability allows authenticated attackers with Subscriber-level access or higher to perform path traversal attacks via the file_download() function in the StoreEngine WordPress plugin. Attackers can read arbitrary files on the server, potentially exposing sensitive information like configuration files, database credentials, or user data. All WordPress sites using StoreEngine plugin versions up to 1.5.0 are affected.

💻 Affected Systems

Products:
  • StoreEngine - Powerful WordPress eCommerce Plugin
Versions: All versions up to and including 1.5.0
Operating Systems: Any OS running WordPress
Default Config Vulnerable: ⚠️ Yes
Notes: Requires authenticated user with at least Subscriber role. WordPress multisite installations may be affected differently depending on role assignments.

⚠️ 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

Complete server compromise through reading sensitive configuration files (like wp-config.php containing database credentials), leading to database takeover, privilege escalation, or lateral movement within the hosting environment.

🟠

Likely Case

Exfiltration of sensitive WordPress configuration files, user data, or other server files containing credentials or personal information.

🟢

If Mitigated

Limited information disclosure if proper file permissions and web server configurations restrict access to sensitive files.

🌐 Internet-Facing: HIGH
🏢 Internal Only: MEDIUM

🎯 Exploit Status

Public PoC: ⚠️ Yes
Weaponized: UNKNOWN
Unauthenticated Exploit: ✅ No
Complexity: LOW

Exploit requires authenticated access but is straightforward to execute. Public proof-of-concept code is available in GitHub repository.

🛠️ Fix & Mitigation

✅ Official Fix

Patch Version: Version after 1.5.0

Vendor Advisory: https://plugins.trac.wordpress.org/changeset/3360097/storeengine/trunk/addons/csv/ajax/export.php

Restart Required: No

Instructions:

1. Log into WordPress admin panel. 2. Navigate to Plugins → Installed Plugins. 3. Find StoreEngine plugin. 4. Click 'Update Now' if update available. 5. If no update appears, manually download latest version from WordPress.org and replace plugin files.

🔧 Temporary Workarounds

Temporary Plugin Deactivation

WordPress

Disable the StoreEngine plugin until patched to prevent exploitation

wp plugin deactivate storeengine

Restrict User Registration

WordPress

Temporarily disable new user registration to prevent attacker account creation

Settings → General → Membership: Uncheck 'Anyone can register'

🧯 If You Can't Patch

  • Implement strict file permissions (chmod 600 for sensitive files like wp-config.php)
  • Add web application firewall rules to block path traversal patterns (../, ..\, etc.)

🔍 How to Verify

Check if Vulnerable:

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

Check Version:

wp plugin get storeengine --field=version

Verify Fix Applied:

After update, verify StoreEngine plugin version is higher than 1.5.0 in WordPress admin panel.

📡 Detection & Monitoring

Log Indicators:

  • Unusual file access patterns in web server logs, especially requests containing '../' sequences to export.php endpoint
  • Multiple failed file access attempts from single user session

Network Indicators:

  • HTTP requests to /wp-content/plugins/storeengine/addons/csv/ajax/export.php with file parameter containing path traversal sequences

SIEM Query:

source="web_access_logs" AND uri="/wp-content/plugins/storeengine/addons/csv/ajax/export.php" AND (query="*..%2F*" OR query="*..\\*" OR query="*file=*" AND NOT query="*file=expected_value*")

🔗 References

📤 Share & Export