CVE-2024-54332

7.1 HIGH

📋 TL;DR

This vulnerability in the WPFactory WP Currency Exchange Rates WordPress plugin allows attackers to perform Cross-Site Request Forgery (CSRF) attacks that lead to Stored Cross-Site Scripting (XSS). Attackers can trick authenticated administrators into executing malicious actions that inject persistent JavaScript payloads. All WordPress sites using affected versions of this plugin are vulnerable.

💻 Affected Systems

Products:
  • WPFactory WP Currency Exchange Rates
Versions: n/a through 1.2.0
Operating Systems: All
Default Config Vulnerable: ⚠️ Yes
Notes: Requires WordPress installation with the vulnerable plugin enabled. Attack requires an authenticated administrator to be tricked into visiting a malicious page.

⚠️ 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 site takeover through admin account compromise, data theft, malware distribution to visitors, and defacement.

🟠

Likely Case

Site defacement, cookie theft from administrators, and redirection of visitors to malicious sites.

🟢

If Mitigated

Limited impact with proper CSRF tokens and Content Security Policy (CSP) in place.

🌐 Internet-Facing: HIGH
🏢 Internal Only: LOW

🎯 Exploit Status

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

Exploitation requires social engineering to trick an admin, but the technical execution is straightforward once the admin visits a malicious page.

🛠️ Fix & Mitigation

✅ Official Fix

Patch Version: 1.2.1 or later

Vendor Advisory: https://patchstack.com/database/wordpress/plugin/wp-currency-exchange-rates/vulnerability/wordpress-wp-currency-exchange-rates-plugin-1-2-0-csrf-to-stored-xss-vulnerability?_s_id=cve

Restart Required: No

Instructions:

1. Log into WordPress admin panel. 2. Navigate to Plugins > Installed Plugins. 3. Find 'WP Currency Exchange Rates'. 4. Click 'Update Now' if available, or manually update to version 1.2.1+. 5. Verify the plugin is active and functioning.

🔧 Temporary Workarounds

Disable Plugin

all

Temporarily disable the vulnerable plugin until patched.

wp plugin deactivate wp-currency-exchange-rates

Implement CSRF Protection

all

Add CSRF tokens manually if you must keep the plugin active.

🧯 If You Can't Patch

  • Restrict admin access to trusted networks only.
  • Implement strong Content Security Policy (CSP) headers to mitigate XSS impact.

🔍 How to Verify

Check if Vulnerable:

Check WordPress admin > Plugins > Installed Plugins for 'WP Currency Exchange Rates' version 1.2.0 or earlier.

Check Version:

wp plugin get wp-currency-exchange-rates --field=version

Verify Fix Applied:

Confirm the plugin version is 1.2.1 or later in the WordPress plugins list.

📡 Detection & Monitoring

Log Indicators:

  • Unusual POST requests to wp-admin/admin-ajax.php or plugin-specific endpoints from unexpected referrers.
  • JavaScript injection in plugin settings or database fields.

Network Indicators:

  • CSRF attempts with malicious payloads in HTTP requests.

SIEM Query:

source="wordpress.log" AND (uri_path="/wp-admin/admin-ajax.php" OR plugin="wp-currency-exchange-rates") AND (referrer NOT CONTAINS "yourdomain.com")

🔗 References

📤 Share & Export