CVE-2024-11847

4.8 MEDIUM

📋 TL;DR

The wp-svg-upload WordPress plugin through version 1.0.0 fails to sanitize SVG file contents, allowing users with at least author privileges to upload malicious SVG files containing JavaScript. This enables stored cross-site scripting (XSS) attacks where malicious code executes when other users view the SVG. WordPress sites using this vulnerable plugin are affected.

💻 Affected Systems

Products:
  • wp-svg-upload WordPress plugin
Versions: through 1.0.0
Operating Systems: All
Default Config Vulnerable: ⚠️ Yes
Notes: Requires at least author-level user account; affects all WordPress installations with vulnerable plugin version.

📦 What is this software?

⚠️ Risk & Real-World Impact

🔴

Worst Case

An attacker with author privileges could inject persistent malicious scripts that execute in administrators' browsers, potentially leading to site takeover, credential theft, or malware distribution to visitors.

🟠

Likely Case

Malicious authors inject JavaScript that steals session cookies or redirects users to phishing sites when they view compromised SVG content.

🟢

If Mitigated

With proper user role management and content security policies, impact is limited to defacement or minor data leakage from users viewing malicious SVGs.

🌐 Internet-Facing: HIGH
🏢 Internal Only: MEDIUM

🎯 Exploit Status

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

Exploitation requires author privileges; SVG XSS techniques are well-documented and easy to implement.

🛠️ Fix & Mitigation

✅ Official Fix

Patch Version: Not available

Vendor Advisory: https://wpscan.com/vulnerability/f57ecff2-0cff-40c7-b6e4-5b162b847d65/

Restart Required: No

Instructions:

1. Remove wp-svg-upload plugin completely. 2. Delete all uploaded SVG files from the site. 3. Consider alternative SVG handling plugins with proper security controls.

🔧 Temporary Workarounds

Disable plugin

linux

Deactivate and delete the vulnerable plugin to prevent exploitation.

wp plugin deactivate wp-svg-upload
wp plugin delete wp-svg-upload

Restrict SVG uploads

all

Use .htaccess or web server configuration to block SVG file uploads.

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

🧯 If You Can't Patch

  • Remove author privileges from untrusted users
  • Implement Content Security Policy (CSP) headers to restrict script execution

🔍 How to Verify

Check if Vulnerable:

Check WordPress admin panel > Plugins > Installed Plugins for wp-svg-upload version 1.0.0 or earlier.

Check Version:

wp plugin get wp-svg-upload --field=version

Verify Fix Applied:

Confirm plugin is removed from plugins directory and no longer appears in WordPress admin.

📡 Detection & Monitoring

Log Indicators:

  • Unusual SVG file uploads by author-level users
  • Multiple failed SVG upload attempts

Network Indicators:

  • HTTP POST requests to /wp-content/uploads/ with SVG files containing script tags

SIEM Query:

source="wordpress" AND (url="*wp-content/uploads/*.svg" OR user_agent="*wp-svg-upload*")

🔗 References

📤 Share & Export