CVE-2025-46490

9.9 CRITICAL

📋 TL;DR

This vulnerability allows attackers to upload arbitrary files, including web shells, to web servers running the Crossword Compiler Puzzles WordPress plugin. It affects all versions up to 5.2, enabling remote code execution and complete server compromise.

💻 Affected Systems

Products:
  • Crossword Compiler Puzzles WordPress Plugin
Versions: All versions up to and including 5.2
Operating Systems: Any OS running WordPress
Default Config Vulnerable: ⚠️ Yes
Notes: Requires WordPress installation with plugin activated. No special configuration needed.

⚠️ 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

Full server takeover with persistent backdoor installation, data exfiltration, and lateral movement to other systems.

🟠

Likely Case

Web shell upload leading to website defacement, data theft, and cryptocurrency mining malware deployment.

🟢

If Mitigated

File uploads blocked at web application firewall level, limiting impact to denial of service attempts.

🌐 Internet-Facing: HIGH
🏢 Internal Only: MEDIUM

🎯 Exploit Status

Public PoC: ⚠️ Yes
Weaponized: CONFIRMED
Unauthenticated Exploit: ⚠️ Yes
Complexity: LOW

Simple HTTP POST request with malicious file upload. Public exploit scripts available.

🛠️ Fix & Mitigation

✅ Official Fix

Patch Version: 5.3 or later

Vendor Advisory: https://patchstack.com/database/wordpress/plugin/crossword-compiler-puzzles/vulnerability/wordpress-crossword-compiler-puzzles-5-2-arbitrary-file-upload-vulnerability?_s_id=cve

Restart Required: No

Instructions:

1. Log into WordPress admin panel. 2. Navigate to Plugins > Installed Plugins. 3. Find Crossword Compiler Puzzles. 4. Click 'Update Now' if available. 5. If no update available, deactivate and delete plugin immediately.

🔧 Temporary Workarounds

Web Application Firewall Rule

all

Block file uploads to vulnerable plugin endpoints

ModSecurity rule: SecRule REQUEST_URI "@contains /wp-content/plugins/crossword-compiler-puzzles/" "id:1001,phase:1,deny,status:403,msg:'Block Crossword Compiler Puzzles uploads'"

File System Permissions Restriction

linux

Remove write permissions from plugin upload directory

chmod -R 755 /var/www/html/wp-content/plugins/crossword-compiler-puzzles/
chown -R www-data:www-data /var/www/html/wp-content/plugins/crossword-compiler-puzzles/

🧯 If You Can't Patch

  • Immediately deactivate and remove the Crossword Compiler Puzzles plugin from all WordPress installations
  • Implement strict file upload validation at the web server level using .htaccess or nginx rules

🔍 How to Verify

Check if Vulnerable:

Check WordPress plugin version: wp plugin list --name=crossword-compiler-puzzles --field=version

Check Version:

wp plugin get crossword-compiler-puzzles --field=version

Verify Fix Applied:

Confirm plugin version is 5.3 or higher: wp plugin get crossword-compiler-puzzles --field=version

📡 Detection & Monitoring

Log Indicators:

  • HTTP POST requests to /wp-content/plugins/crossword-compiler-puzzles/ with file uploads
  • Files with .php, .phtml, .jsp extensions created in plugin directories
  • Unusual process execution from web server user account

Network Indicators:

  • Outbound connections from web server to unknown IPs on non-standard ports
  • Large file uploads to plugin endpoints

SIEM Query:

source="web_server" AND (uri="/wp-content/plugins/crossword-compiler-puzzles/*" AND method="POST") AND (file_extension="php" OR file_extension="phtml" OR file_extension="jsp")

🔗 References

📤 Share & Export