CVE-2023-37989

5.4 MEDIUM

📋 TL;DR

This CVE describes a missing authorization vulnerability in the Easyship WooCommerce Shipping Rates plugin that allows attackers to exploit incorrectly configured access control security levels. Attackers could potentially access functionality they shouldn't have permission to use. This affects all WordPress sites using the Easyship WooCommerce Shipping Rates plugin version 0.9.0 and earlier.

💻 Affected Systems

Products:
  • Easyship WooCommerce Shipping Rates WordPress plugin
Versions: n/a through 0.9.0
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 modify shipping settings, access sensitive shipping data, or potentially escalate privileges to gain administrative control over the WooCommerce store.

🟠

Likely Case

Unauthorized users could access and modify shipping configuration settings, potentially disrupting shipping operations or accessing customer shipping information.

🟢

If Mitigated

With proper access controls and authentication checks, only authorized administrators can access shipping configuration functions.

🌐 Internet-Facing: HIGH
🏢 Internal Only: MEDIUM

🎯 Exploit Status

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

Exploitation requires some level of access to the WordPress site, but the vulnerability bypasses authorization checks for authenticated users.

🛠️ Fix & Mitigation

✅ Official Fix

Patch Version: 0.9.1 or later

Vendor Advisory: https://patchstack.com/database/wordpress/plugin/easyship-woocommerce-shipping-rates/vulnerability/wordpress-easyship-woocommerce-shipping-rates-plugin-0-8-9-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 'Easyship WooCommerce Shipping Rates'. 4. Click 'Update Now' if available, or manually update to version 0.9.1+. 5. Verify the plugin is active and functioning.

🔧 Temporary Workarounds

Disable vulnerable plugin

all

Temporarily disable the Easyship WooCommerce Shipping Rates plugin until patched

wp plugin deactivate easyship-woocommerce-shipping-rates

Restrict admin access

linux

Implement IP whitelisting for WordPress admin access

# Add to .htaccess for Apache: Order Deny,Allow
Deny from all
Allow from 192.168.1.0/24
# Or equivalent for nginx

🧯 If You Can't Patch

  • Implement strict access controls and monitor for unauthorized access attempts to shipping configuration pages
  • Use web application firewall rules to block suspicious requests to the plugin's admin endpoints

🔍 How to Verify

Check if Vulnerable:

Check WordPress admin → Plugins → Installed Plugins for Easyship WooCommerce Shipping Rates version

Check Version:

wp plugin get easyship-woocommerce-shipping-rates --field=version

Verify Fix Applied:

Verify plugin version is 0.9.1 or higher in WordPress admin panel

📡 Detection & Monitoring

Log Indicators:

  • Unauthorized access attempts to /wp-admin/admin.php?page=easyship-woocommerce-shipping-rates endpoints
  • Multiple failed authentication attempts followed by successful access to shipping configuration

Network Indicators:

  • Unusual POST requests to plugin admin endpoints from non-admin IP addresses

SIEM Query:

source="wordpress.log" AND ("easyship" OR "shipping-rates") AND ("admin.php" OR "wp-admin") AND status=200 AND user_role!=administrator

🔗 References

📤 Share & Export