CVE-2025-30958

5.4 MEDIUM

📋 TL;DR

This CVE describes a missing authorization vulnerability in the onOffice for WP-Websites WordPress plugin that allows attackers to bypass intended access controls. It affects all versions up to 5.7, potentially enabling unauthorized access to functionality or data. WordPress administrators using this plugin are affected.

💻 Affected Systems

Products:
  • onOffice GmbH onOffice for WP-Websites WordPress plugin
Versions: All versions up to and including 5.7
Operating Systems: Any OS running WordPress
Default Config Vulnerable: ⚠️ Yes
Notes: Affects WordPress installations with the vulnerable plugin version installed and activated.

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

Attackers could access administrative functions, modify plugin settings, view sensitive data, or perform actions reserved for authenticated users, potentially leading to data exposure or site compromise.

🟠

Likely Case

Unauthorized users accessing functionality intended for authenticated users, such as viewing restricted content or performing limited administrative actions within the plugin's scope.

🟢

If Mitigated

With proper access controls and authentication checks, only authorized users can access intended functionality, preventing unauthorized actions.

🌐 Internet-Facing: HIGH
🏢 Internal Only: MEDIUM

🎯 Exploit Status

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

Exploitation requires identifying vulnerable endpoints but doesn't require authentication. The vulnerability is in access control logic.

🛠️ Fix & Mitigation

✅ Official Fix

Patch Version: Version after 5.7

Vendor Advisory: https://patchstack.com/database/wordpress/plugin/onoffice-for-wp-websites/vulnerability/wordpress-onoffice-for-wp-websites-5-7-broken-access-control-vulnerability?_s_id=cve

Restart Required: No

Instructions:

1. Log into WordPress admin panel. 2. Navigate to Plugins → Installed Plugins. 3. Find 'onOffice for WP-Websites'. 4. Click 'Update Now' if available, or manually update to latest version. 5. Verify plugin is updated to version after 5.7.

🔧 Temporary Workarounds

Temporary Plugin Deactivation

all

Disable the vulnerable plugin until patched

wp plugin deactivate onoffice-for-wp-websites

Access Restriction via .htaccess

linux

Restrict access to plugin directories if using Apache

# Add to .htaccess in wp-content/plugins/onoffice-for-wp-websites/
Order Deny,Allow
Deny from all

🧯 If You Can't Patch

  • Implement web application firewall (WAF) rules to block suspicious requests to plugin endpoints
  • Monitor access logs for unauthorized requests to onOffice plugin URLs and implement IP blocking for malicious actors

🔍 How to Verify

Check if Vulnerable:

Check WordPress admin → Plugins → Installed Plugins for 'onOffice for WP-Websites' version 5.7 or earlier

Check Version:

wp plugin get onoffice-for-wp-websites --field=version

Verify Fix Applied:

Verify plugin version is greater than 5.7 in WordPress admin panel

📡 Detection & Monitoring

Log Indicators:

  • HTTP requests to onOffice plugin endpoints from unauthenticated users
  • 403/401 errors followed by successful 200 requests to same endpoints

Network Indicators:

  • Unusual request patterns to /wp-content/plugins/onoffice-for-wp-websites/ endpoints
  • Requests bypassing authentication to admin-ajax.php with onOffice actions

SIEM Query:

source="web_logs" AND (url="*onoffice*" OR url="*wp-content/plugins/onoffice-for-wp-websites*") AND (response_code=200) AND NOT (user_agent="*bot*" OR user_agent="*crawl*")

🔗 References

📤 Share & Export