CVE-2024-8964

6.4 MEDIUM

📋 TL;DR

The Sirv WordPress plugin versions up to 7.2.9 have a stored XSS vulnerability in SVG file uploads. Authenticated attackers with Author privileges or higher can inject malicious scripts that execute when users view uploaded SVG files. This affects all WordPress sites using vulnerable Sirv plugin versions.

💻 Affected Systems

Products:
  • Image Optimizer, Resizer and CDN – Sirv WordPress plugin
Versions: All versions up to and including 7.2.9
Operating Systems: All
Default Config Vulnerable: ⚠️ Yes
Notes: Requires WordPress installation with Sirv plugin enabled and at least one user with Author role or higher.

📦 What is this software?

⚠️ Risk & Real-World Impact

🔴

Worst Case

Attackers could steal admin credentials, deface websites, redirect users to malicious sites, or install backdoors for persistent access.

🟠

Likely Case

Attackers with compromised author accounts inject malicious scripts to steal user session cookies or perform phishing attacks against site visitors.

🟢

If Mitigated

With proper user access controls and content security policies, impact is limited to isolated script execution without data exfiltration.

🌐 Internet-Facing: HIGH
🏢 Internal Only: MEDIUM

🎯 Exploit Status

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

Exploitation requires authenticated access with at least Author privileges. SVG file upload with embedded JavaScript is straightforward.

🛠️ Fix & Mitigation

✅ Official Fix

Patch Version: 7.3.0

Vendor Advisory: https://plugins.trac.wordpress.org/changeset/3162079/

Restart Required: No

Instructions:

1. Log into WordPress admin panel. 2. Navigate to Plugins → Installed Plugins. 3. Find 'Image Optimizer, Resizer and CDN – Sirv'. 4. Click 'Update Now' if available. 5. Alternatively, download version 7.3.0+ from WordPress repository and manually update.

🔧 Temporary Workarounds

Disable SVG uploads via .htaccess

linux

Prevent SVG file uploads at web server level

Add to .htaccess: <FilesMatch "\.svg$">
    Order Allow,Deny
    Deny from all
</FilesMatch>

Restrict user roles

all

Limit Author+ roles to trusted users only

🧯 If You Can't Patch

  • Temporarily disable the Sirv plugin until patching is possible
  • Implement Content Security Policy headers to restrict script execution from untrusted sources

🔍 How to Verify

Check if Vulnerable:

Check WordPress admin → Plugins → Installed Plugins for Sirv plugin version. If version is 7.2.9 or lower, system is vulnerable.

Check Version:

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

Verify Fix Applied:

Confirm Sirv plugin version is 7.3.0 or higher in WordPress admin panel.

📡 Detection & Monitoring

Log Indicators:

  • Unusual SVG file uploads by Author+ users
  • Multiple failed SVG upload attempts
  • Admin user logins from unusual locations following SVG uploads

Network Indicators:

  • Outbound connections to suspicious domains after SVG file access
  • Unusual JavaScript loading from SVG file paths

SIEM Query:

source="wordpress" AND (event="plugin_update" AND plugin_name="sirv" AND version<="7.2.9") OR (event="file_upload" AND file_extension="svg" AND user_role IN ("author","editor","administrator"))

🔗 References

📤 Share & Export