CVE-2024-13378

5.4 MEDIUM

📋 TL;DR

The Gravity Forms WordPress plugin has a stored XSS vulnerability that allows unauthenticated attackers to inject malicious scripts via the 'style_settings' parameter. When users view compromised pages in Chrome browsers, the scripts execute automatically. This affects WordPress sites running Gravity Forms versions 2.9.0.1 through 2.9.1.3.

💻 Affected Systems

Products:
  • Gravity Forms WordPress Plugin
Versions: 2.9.0.1 to 2.9.1.3
Operating Systems: Any OS running WordPress
Default Config Vulnerable: ⚠️ Yes
Notes: Only exploitable in Chrome browser when directly browsing media files via attachment posts.

⚠️ 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 steal admin session cookies, redirect users to malicious sites, or perform actions on behalf of authenticated users, potentially leading to site takeover.

🟠

Likely Case

Attackers inject malicious scripts that steal user session data or credentials when users view compromised pages in Chrome.

🟢

If Mitigated

With proper input validation and output escaping, the attack fails and no script execution occurs.

🌐 Internet-Facing: HIGH
🏢 Internal Only: LOW

🎯 Exploit Status

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

Attack requires Chrome browser and specific media file access path.

🛠️ Fix & Mitigation

✅ Official Fix

Patch Version: 2.9.1.4

Vendor Advisory: https://docs.gravityforms.com/gravityforms-change-log/

Restart Required: No

Instructions:

1. Log into WordPress admin panel. 2. Navigate to Plugins > Installed Plugins. 3. Find Gravity Forms and click 'Update Now'. 4. Verify version is 2.9.1.4 or higher.

🔧 Temporary Workarounds

Disable Chrome Access

all

Block Chrome browsers from accessing media attachment pages via web server configuration.

# Add to .htaccess for Apache:
RewriteEngine On
RewriteCond %{HTTP_USER_AGENT} Chrome [NC]
RewriteRule ^wp-content/uploads/.*\.(jpg|jpeg|png|gif)$ - [F,L]
# Add to nginx config:
if ($http_user_agent ~* Chrome) {
    location ~ ^/wp-content/uploads/.*\.(jpg|jpeg|png|gif)$ {
        return 403;
    }
}

🧯 If You Can't Patch

  • Temporarily disable Gravity Forms plugin until patched.
  • Implement Content Security Policy (CSP) headers to restrict script execution.

🔍 How to Verify

Check if Vulnerable:

Check Gravity Forms version in WordPress admin panel under Plugins > Installed Plugins.

Check Version:

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

Verify Fix Applied:

Confirm Gravity Forms version is 2.9.1.4 or higher in WordPress admin.

📡 Detection & Monitoring

Log Indicators:

  • Unusual POST requests to Gravity Forms endpoints with style_settings parameter containing script tags.
  • Multiple Chrome user agents accessing media attachment pages with suspicious parameters.

Network Indicators:

  • HTTP requests containing 'style_settings' parameter with JavaScript payloads.
  • Chrome browser requests to media attachment URLs with encoded script content.

SIEM Query:

source="web_logs" AND (uri_path="*wp-content/uploads*" AND user_agent="*Chrome*" AND query_string="*style_settings=*script*" OR query_string="*style_settings=*javascript:*")

🔗 References

📤 Share & Export