CVE-2025-49352

4.3 MEDIUM

📋 TL;DR

This CVE describes an Insecure Direct Object Reference (IDOR) vulnerability in the YoOhw Studio Order Cancellation & Returns for WooCommerce WordPress plugin. It allows authenticated users to bypass authorization and access or manipulate order cancellation/return requests belonging to other users by controlling object identifiers. All WordPress sites using the affected plugin versions are impacted.

💻 Affected Systems

Products:
  • YoOhw Studio Order Cancellation & Returns for WooCommerce
Versions: n/a through 1.1.10
Operating Systems: Any OS running WordPress
Default Config Vulnerable: ⚠️ Yes
Notes: Requires the plugin to be installed and active on a WordPress site with WooCommerce. Vulnerability is present in default configuration.

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

An authenticated attacker could view, modify, or delete order cancellation/return requests for any customer, potentially leading to data breach, fraud, or disruption of e-commerce operations.

🟠

Likely Case

Low-privileged users (e.g., customers) accessing other users' cancellation/return data, violating privacy and potentially enabling social engineering or harassment.

🟢

If Mitigated

Minimal impact if proper access controls and input validation are implemented server-side to verify user ownership of requested objects.

🌐 Internet-Facing: HIGH
🏢 Internal Only: LOW

🎯 Exploit Status

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

Exploitation requires an authenticated user account (any role). Attack involves manipulating object IDs (e.g., order IDs) in HTTP requests to access unauthorized data.

🛠️ Fix & Mitigation

✅ Official Fix

Patch Version: 1.1.11 or later

Vendor Advisory: https://patchstack.com/database/wordpress/plugin/wc-order-cancellation-return/vulnerability/wordpress-order-cancellation-returns-for-woocommerce-plugin-1-1-10-insecure-direct-object-references-idor-vulnerability?_s_id=cve

Restart Required: No

Instructions:

1. Log into WordPress admin dashboard. 2. Navigate to Plugins > Installed Plugins. 3. Find 'Order Cancellation & Returns for WooCommerce'. 4. If an update is available, click 'Update Now'. 5. Alternatively, download version 1.1.11+ from WordPress.org and manually update via FTP/SFTP.

🔧 Temporary Workarounds

Disable Plugin

all

Temporarily deactivate the vulnerable plugin to eliminate the attack surface until patching is possible.

wp plugin deactivate wc-order-cancellation-return

🧯 If You Can't Patch

  • Implement a Web Application Firewall (WAF) rule to block requests containing manipulated object IDs (e.g., sequential ID patterns) targeting the plugin's endpoints.
  • Add server-side access control checks in custom code to verify the current user owns the requested order/cancellation object before processing.

🔍 How to Verify

Check if Vulnerable:

Check the plugin version in WordPress admin under Plugins > Installed Plugins. If version is 1.1.10 or earlier (and not n/a), it is vulnerable.

Check Version:

wp plugin get wc-order-cancellation-return --field=version

Verify Fix Applied:

Confirm the plugin version is 1.1.11 or higher after update. Test functionality by logging in as a low-privileged user and attempting to access another user's order cancellation data via ID manipulation; access should be denied.

📡 Detection & Monitoring

Log Indicators:

  • Unusual access patterns to order/cancellation endpoints with sequential or non-user-owned IDs in WordPress or web server logs.
  • 403 Forbidden errors followed by 200 OK for similar requests indicating potential bypass attempts.

Network Indicators:

  • HTTP requests to plugin-specific URLs (e.g., /wp-json/wc-order-cancellation-return/) with manipulated ID parameters from authenticated sessions.

SIEM Query:

source="wordpress.log" AND (uri_path="/wp-json/wc-order-cancellation-return/*" OR uri_path="/wp-admin/admin-ajax.php") AND (query_parameter="order_id" OR query_parameter="return_id") AND status=200 | stats count by src_ip, user_agent

🔗 References

📤 Share & Export