CVE-2025-2780

8.8 HIGH

📋 TL;DR

The Woffice Core plugin for WordPress has a vulnerability that allows authenticated users with Subscriber-level access or higher to upload arbitrary files due to missing file type validation. This can lead to remote code execution on affected WordPress sites. All WordPress sites using Woffice Core plugin versions up to 5.4.21 are vulnerable.

💻 Affected Systems

Products:
  • Woffice Core WordPress Plugin
  • Woffice Theme
Versions: All versions up to and including 5.4.21
Operating Systems: All operating systems running WordPress
Default Config Vulnerable: ⚠️ Yes
Notes: Requires WordPress installation with Woffice Core plugin or Woffice Theme. Vulnerability requires authenticated access (Subscriber role or higher).

📦 What is this software?

⚠️ Risk & Real-World Impact

🔴

Worst Case

Attackers gain full control of the WordPress server through remote code execution, potentially compromising the entire hosting environment and exfiltrating sensitive data.

🟠

Likely Case

Attackers upload web shells or malicious scripts to establish persistent access, deface websites, or use the server for further attacks.

🟢

If Mitigated

With proper file upload restrictions and web application firewalls, attackers may only be able to upload harmless files that don't execute.

🌐 Internet-Facing: HIGH
🏢 Internal Only: MEDIUM

🎯 Exploit Status

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

Exploitation requires authenticated access but is straightforward once credentials are obtained. The vulnerability is in a publicly documented function with clear attack vectors.

🛠️ Fix & Mitigation

✅ Official Fix

Patch Version: 5.4.22

Vendor Advisory: https://hub.woffice.io/woffice/changelog#april-1st-2025-version-5422

Restart Required: No

Instructions:

1. Log into WordPress admin panel. 2. Navigate to Plugins → Installed Plugins. 3. Find Woffice Core plugin. 4. Click 'Update Now' if update is available. 5. Alternatively, download version 5.4.22+ from official repository and manually update.

🔧 Temporary Workarounds

Restrict File Uploads via .htaccess

all

Block execution of uploaded files in upload directories

Add to .htaccess in wp-content/uploads/: <FilesMatch "\.(php|php5|php7|phtml|phar)$">
    Order Allow,Deny
    Deny from all
</FilesMatch>

Temporary Plugin Deactivation

all

Disable Woffice Core plugin until patched

wp plugin deactivate woffice-core
Or deactivate via WordPress admin panel

🧯 If You Can't Patch

  • Implement strict file upload restrictions at web server level
  • Restrict Subscriber role permissions or require higher authentication for file uploads

🔍 How to Verify

Check if Vulnerable:

Check WordPress admin panel → Plugins → Woffice Core → Version number. If version is 5.4.21 or lower, system is vulnerable.

Check Version:

wp plugin get woffice-core --field=version

Verify Fix Applied:

Verify Woffice Core plugin version is 5.4.22 or higher in WordPress admin panel.

📡 Detection & Monitoring

Log Indicators:

  • Unusual file uploads to wp-content/uploads/ directory
  • POST requests to /wp-admin/admin-ajax.php with action=saveFeaturedImage
  • Uploads of executable file types (.php, .phar, .phtml)

Network Indicators:

  • HTTP POST requests with file uploads to WordPress admin endpoints from unexpected sources

SIEM Query:

source="wordpress.log" AND ("saveFeaturedImage" OR "upload" AND ("php" OR "phar" OR "phtml"))

🔗 References

📤 Share & Export