CVE-2024-54420

7.1 HIGH

📋 TL;DR

This CSRF vulnerability in the Aleksander Novikov Metrika WordPress plugin allows attackers to trick authenticated administrators into performing unintended actions. Attackers could inject malicious scripts that execute when other users visit affected pages. All WordPress sites using Metrika plugin versions up to 1.2 are affected.

💻 Affected Systems

Products:
  • Aleksander Novikov Metrika WordPress Plugin
Versions: n/a through 1.2
Operating Systems: Any OS running WordPress
Default Config Vulnerable: ⚠️ Yes
Notes: Requires WordPress installation with Metrika plugin enabled. Attack requires administrator interaction.

⚠️ 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 inject persistent XSS payloads that execute in visitors' browsers, potentially stealing session cookies, redirecting to malicious sites, or performing actions as authenticated users.

🟠

Likely Case

Attackers create fake admin interfaces or links that trick administrators into changing plugin settings or injecting malicious scripts that affect site visitors.

🟢

If Mitigated

With proper CSRF tokens and same-origin policies, the attack fails as requests from malicious sites are rejected.

🌐 Internet-Facing: HIGH
🏢 Internal Only: MEDIUM

🎯 Exploit Status

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

Exploitation requires tricking authenticated administrators into clicking malicious links or visiting crafted pages.

🛠️ Fix & Mitigation

✅ Official Fix

Patch Version: 1.3 or later

Vendor Advisory: https://patchstack.com/database/wordpress/plugin/metrika/vulnerability/wordpress-metrika-plugin-1-2-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 Metrika plugin. 4. Click 'Update Now' if available. 5. If no update available, deactivate and delete plugin, then install fresh version 1.3+ from WordPress repository.

🔧 Temporary Workarounds

Implement CSRF Protection Headers

all

Add Content-Security-Policy headers to restrict script sources

Add to .htaccess: Header set Content-Security-Policy "script-src 'self'"
Add to nginx config: add_header Content-Security-Policy "script-src 'self'";

Temporary Plugin Deactivation

all

Disable Metrika plugin until patched

wp plugin deactivate metrika
Or via WordPress admin: Plugins > Installed Plugins > Metrika > Deactivate

🧯 If You Can't Patch

  • Implement strict same-origin policies and CSRF tokens in application layer
  • Restrict admin panel access to specific IP addresses using firewall rules

🔍 How to Verify

Check if Vulnerable:

Check WordPress admin panel > Plugins > Installed Plugins for Metrika version. If version is 1.2 or lower, you are vulnerable.

Check Version:

wp plugin list --name=metrika --field=version

Verify Fix Applied:

After update, verify Metrika plugin shows version 1.3 or higher in WordPress admin plugins list.

📡 Detection & Monitoring

Log Indicators:

  • Multiple POST requests to /wp-admin/admin.php from unexpected referrers
  • Unusual plugin setting changes in WordPress logs

Network Indicators:

  • Cross-origin requests to WordPress admin endpoints with missing CSRF tokens
  • Unexpected referrer headers in admin panel requests

SIEM Query:

source="wordpress.log" AND (uri_path="/wp-admin/admin.php" AND http_method="POST" AND NOT referrer CONTAINS "your-domain.com")

🔗 References

📤 Share & Export