CVE-2025-13376
📋 TL;DR
The ProjectList WordPress plugin allows authenticated attackers with Editor-level access or higher to upload arbitrary files due to missing file type validation. This vulnerability affects all versions up to and including 0.3.0, potentially enabling remote code execution on vulnerable WordPress sites.
💻 Affected Systems
- ProjectList WordPress Plugin
⚠️ 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.
- Review the CVE details at NVD
- Check vendor security advisories for your specific version
- Test if the vulnerability is exploitable in your environment
- Consider updating to the latest version as a precaution
⚠️ Risk & Real-World Impact
Worst Case
Attackers achieve remote code execution, gain full control of the WordPress server, and potentially compromise the entire hosting environment.
Likely Case
Attackers upload malicious files (webshells, backdoors) to execute arbitrary code, deface websites, steal data, or pivot to other systems.
If Mitigated
With proper access controls and file upload restrictions, impact is limited to unauthorized file storage without execution.
🎯 Exploit Status
Exploitation requires authenticated access but is technically simple; file upload vulnerabilities are commonly weaponized.
🛠️ Fix & Mitigation
✅ Official Fix
Patch Version: 0.3.1 or later
Vendor Advisory: https://plugins.trac.wordpress.org/browser/projectlist/
Restart Required: No
Instructions:
1. Log into WordPress admin panel. 2. Navigate to Plugins → Installed Plugins. 3. Find ProjectList plugin. 4. Click 'Update Now' if update available. 5. If no update available, deactivate and delete plugin immediately.
🔧 Temporary Workarounds
Disable Plugin
allDeactivate and remove the vulnerable plugin until patched version is available.
wp plugin deactivate projectlist
wp plugin delete projectlist
Restrict File Uploads via .htaccess
linuxBlock execution of uploaded files in WordPress uploads directory.
Add to wp-content/uploads/.htaccess: <FilesMatch "\.(php|php5|phtml|pl|py|jsp|asp|sh|cgi)$">
Order Allow,Deny
Deny from all
</FilesMatch>
🧯 If You Can't Patch
- Remove Editor and higher privileges from untrusted users
- Implement web application firewall (WAF) rules to block malicious file uploads
🔍 How to Verify
Check if Vulnerable:
Check WordPress admin → Plugins → Installed Plugins for ProjectList version 0.3.0 or earlier.
Check Version:
wp plugin get projectlist --field=version
Verify Fix Applied:
Verify ProjectList plugin version is 0.3.1 or later, or confirm plugin is removed.
📡 Detection & Monitoring
Log Indicators:
- Unusual file uploads to wp-content/uploads/ via pl-add.php
- POST requests to /wp-admin/admin-ajax.php?action=pl_add with file parameters
- Execution of unexpected PHP files in uploads directory
Network Indicators:
- HTTP POST requests containing multipart/form-data with executable file extensions to WordPress admin paths
SIEM Query:
source="web_logs" AND (uri_path="/wp-admin/admin-ajax.php" AND query_string="action=pl_add") AND http_method="POST"