CVE-2023-2500

8.8 HIGH

📋 TL;DR

This vulnerability in the Go Pricing WordPress plugin allows authenticated attackers with subscriber-level permissions to perform PHP object injection via the 'data' parameter in shortcodes. If another plugin or theme provides a POP chain, attackers could delete files, steal data, or execute code. WordPress sites using vulnerable plugin versions are affected.

💻 Affected Systems

Products:
  • Go Pricing - WordPress Responsive Pricing Tables
Versions: Up to and including 3.3.19
Operating Systems: All
Default Config Vulnerable: ⚠️ Yes
Notes: Requires WordPress installation with the vulnerable plugin. Attack requires authenticated user with at least subscriber permissions.

📦 What is this software?

⚠️ Risk & Real-World Impact

🔴

Worst Case

Remote code execution leading to complete site compromise, data theft, or site destruction if a POP chain exists from another plugin/theme.

🟠

Likely Case

Limited impact due to no POP chain in the vulnerable plugin itself, but potential for data exposure or file deletion if other vulnerable components exist.

🟢

If Mitigated

Minimal impact with proper access controls, monitoring, and no other vulnerable plugins/themes installed.

🌐 Internet-Facing: HIGH
🏢 Internal Only: MEDIUM

🎯 Exploit Status

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

Requires authenticated access and potentially a POP chain from another component for full exploitation.

🛠️ Fix & Mitigation

✅ Official Fix

Patch Version: 3.3.20 or later

Vendor Advisory: https://codecanyon.net/item/go-pricing-wordpress-responsive-pricing-tables/3725820

Restart Required: No

Instructions:

1. Log into WordPress admin panel. 2. Navigate to Plugins → Installed Plugins. 3. Find 'Go Pricing' and update to version 3.3.20 or later. 4. If auto-update fails, download latest version from CodeCanyon and manually update.

🔧 Temporary Workarounds

Disable plugin

all

Temporarily disable the vulnerable plugin until patching is possible

wp plugin deactivate go-pricing

Restrict user roles

all

Limit subscriber-level user creation and review existing accounts

🧯 If You Can't Patch

  • Remove or disable the Go Pricing plugin entirely
  • Implement web application firewall rules to block requests containing suspicious serialized data in 'data' parameter

🔍 How to Verify

Check if Vulnerable:

Check WordPress admin panel → Plugins → Installed Plugins for Go Pricing version. If version is 3.3.19 or lower, you are vulnerable.

Check Version:

wp plugin get go-pricing --field=version

Verify Fix Applied:

Confirm plugin version is 3.3.20 or higher in WordPress admin panel.

📡 Detection & Monitoring

Log Indicators:

  • POST requests to wp-admin/admin-ajax.php with 'action=go_pricing' containing serialized data
  • Unusual PHP errors related to unserialize() or object injection

Network Indicators:

  • HTTP requests with 'data' parameter containing serialized PHP objects
  • Traffic patterns from subscriber accounts attempting to access admin functions

SIEM Query:

source="wordpress.log" AND "go_pricing" AND "data=" AND ("O:" OR "C:" OR "a:" OR "s:")

🔗 References

📤 Share & Export