CVE-2024-54389
📋 TL;DR
This CSRF vulnerability in the WordPress addWeather plugin allows attackers to trick authenticated administrators into performing unintended actions, potentially leading to stored XSS. It affects all WordPress sites using addWeather plugin versions up to 2.5.1.
💻 Affected Systems
- WordPress addWeather plugin by Eduardo Chiaro
⚠️ 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.
- Review the CVE details at NVD
- Check vendor security advisories for your specific version
- Test if the vulnerability is exploitable in your environment
- Consider updating to the latest version as a precaution
⚠️ Risk & Real-World Impact
Worst Case
Attackers could inject malicious JavaScript that executes in visitors' browsers, potentially stealing session cookies, redirecting users to malicious sites, or performing actions on behalf of authenticated users.
Likely Case
Attackers create fake weather configuration pages that, when visited by administrators, modify plugin settings to inject malicious scripts affecting all site visitors.
If Mitigated
With proper CSRF protections and input validation, the vulnerability would be blocked at the request level before any malicious actions could be performed.
🎯 Exploit Status
Exploitation requires social engineering to trick authenticated administrators into clicking malicious links. The vulnerability chains CSRF to stored XSS.
🛠️ Fix & Mitigation
✅ Official Fix
Patch Version: 2.5.2 or later
Vendor Advisory: https://patchstack.com/database/wordpress/plugin/myweather/vulnerability/wordpress-addweather-plugin-2-5-1-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 'addWeather' plugin. 4. Click 'Update Now' if update available. 5. If no update available, deactivate and delete plugin, then install fresh version from WordPress repository.
🔧 Temporary Workarounds
Implement CSRF Protection
allAdd nonce verification to plugin forms and AJAX requests
wp_nonce_field('addweather_action', 'addweather_nonce');
wp_verify_nonce($_POST['addweather_nonce'], 'addweather_action');
Disable Plugin
allTemporarily disable the addWeather plugin until patched
wp plugin deactivate addweather
🧯 If You Can't Patch
- Implement web application firewall (WAF) rules to block CSRF attempts targeting addWeather endpoints
- Educate administrators about phishing risks and implement strict browsing policies for admin accounts
🔍 How to Verify
Check if Vulnerable:
Check WordPress admin panel > Plugins > Installed Plugins for addWeather version. If version is 2.5.1 or earlier, system is vulnerable.
Check Version:
wp plugin get addweather --field=version
Verify Fix Applied:
Verify addWeather plugin version is 2.5.2 or later in WordPress admin panel.
📡 Detection & Monitoring
Log Indicators:
- Multiple POST requests to /wp-admin/admin-ajax.php with addweather_action parameter from unexpected referrers
- Unauthorized modifications to weather widget settings
Network Indicators:
- HTTP requests with suspicious referer headers pointing to external domains
- Unexpected iframe or script tags in weather widget content
SIEM Query:
source="wordpress" AND (uri_path="/wp-admin/admin-ajax.php" AND query_string="*addweather_action*" AND NOT referer_domain="yourdomain.com")