CVE-2024-54397

7.1 HIGH

📋 TL;DR

This CVE describes a Cross-Site Request Forgery (CSRF) vulnerability in the Go Animate WordPress plugin that can lead to Stored Cross-Site Scripting (XSS). Attackers can trick authenticated administrators into executing malicious actions, potentially injecting persistent scripts into websites. WordPress sites using Go Animate plugin versions up to 1.0 are affected.

💻 Affected Systems

Products:
  • Go Animate WordPress Plugin
Versions: n/a through 1.0
Operating Systems: All
Default Config Vulnerable: ⚠️ Yes
Notes: Requires WordPress installation with Go Animate plugin enabled. Attack requires tricking authenticated administrator users.

⚠️ 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 malicious JavaScript that steals administrator credentials, defaces websites, redirects visitors to malicious sites, or installs backdoors for persistent access.

🟠

Likely Case

Attackers would typically use this to inject advertising scripts, cryptocurrency miners, or credential-stealing payloads that affect all website visitors.

🟢

If Mitigated

With proper CSRF protections and content security policies, the attack surface is reduced, though the vulnerability still exists in the codebase.

🌐 Internet-Facing: HIGH
🏢 Internal Only: MEDIUM

🎯 Exploit Status

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

CSRF to XSS chain is well-understood attack pattern. Exploitation requires social engineering to trick authenticated users.

🛠️ Fix & Mitigation

✅ Official Fix

Patch Version: 1.0.1 or later

Vendor Advisory: https://patchstack.com/database/wordpress/plugin/goanimate/vulnerability/wordpress-go-animate-plugin-1-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 Go Animate plugin. 4. Click 'Update Now' if update available. 5. If no update appears, manually download version 1.0.1+ from WordPress repository. 6. Deactivate and delete old version. 7. Upload and activate new version.

🔧 Temporary Workarounds

Implement CSRF Protection Headers

all

Add Content Security Policy headers to mitigate XSS impact

Add to .htaccess: Header set Content-Security-Policy "default-src 'self'; script-src 'self'"
Add to wp-config.php: define('FORCE_SSL_ADMIN', true);

Temporary Plugin Deactivation

all

Disable vulnerable plugin until patch can be applied

wp plugin deactivate goanimate
Or via WordPress admin: Plugins → Installed Plugins → Deactivate under Go Animate

🧯 If You Can't Patch

  • Remove Go Animate plugin completely and use alternative animation solutions
  • Implement strict firewall rules to block unauthorized admin actions and monitor for CSRF attempts

🔍 How to Verify

Check if Vulnerable:

Check WordPress admin → Plugins → Installed Plugins. If Go Animate version is 1.0 or earlier, you are vulnerable.

Check Version:

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

Verify Fix Applied:

Verify plugin version shows 1.0.1 or later in WordPress admin panel. Test admin functions with CSRF testing tools.

📡 Detection & Monitoring

Log Indicators:

  • Unusual admin actions without corresponding user sessions
  • Multiple failed CSRF token validations
  • Unexpected JavaScript injections in database or files

Network Indicators:

  • POST requests to admin-ajax.php or admin-post.php without proper referrer headers
  • Requests with suspicious parameters containing script tags

SIEM Query:

source="wordpress.log" AND ("admin-ajax.php" OR "admin-post.php") AND ("action=goanimate" OR "plugin=goanimate") AND NOT referer="*wp-admin*"

🔗 References

📤 Share & Export