CVE-2025-12166

7.5 HIGH

📋 TL;DR

This vulnerability allows unauthenticated attackers to perform blind SQL injection attacks on WordPress sites using the Simply Schedule Appointments Booking Plugin. Attackers can extract sensitive information from the database by manipulating the 'order' and 'append_where_sql' parameters. All WordPress sites using this plugin up to version 1.6.9.9 are affected.

💻 Affected Systems

Products:
  • Appointment Booking Calendar — Simply Schedule Appointments Booking Plugin for WordPress
Versions: All versions up to and including 1.6.9.9
Operating Systems: All operating systems running WordPress
Default Config Vulnerable: ⚠️ Yes
Notes: All installations with the vulnerable plugin are affected regardless of 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

Complete database compromise including user credentials, personal data, payment information, and administrative access leading to site takeover.

🟠

Likely Case

Extraction of sensitive user data, appointment details, and potentially administrative credentials from the database.

🟢

If Mitigated

Limited information disclosure if database permissions are properly restricted and sensitive data is encrypted.

🌐 Internet-Facing: HIGH
🏢 Internal Only: MEDIUM

🎯 Exploit Status

Public PoC: ✅ No
Weaponized: LIKELY
Unauthenticated Exploit: ⚠️ Yes
Complexity: LOW

SQL injection vulnerabilities are commonly weaponized and this requires no authentication.

🛠️ Fix & Mitigation

✅ Official Fix

Patch Version: 1.6.10.0 or later

Vendor Advisory: https://plugins.trac.wordpress.org/changeset/3408539/

Restart Required: No

Instructions:

1. Log into WordPress admin panel
2. Navigate to Plugins → Installed Plugins
3. Find 'Simply Schedule Appointments'
4. Click 'Update Now' if available
5. If no update shows, download version 1.6.10.0+ from WordPress.org
6. Deactivate old plugin, upload new version, activate

🔧 Temporary Workarounds

Temporary Plugin Deactivation

all

Disable the vulnerable plugin until patched

wp plugin deactivate simply-schedule-appointments

Web Application Firewall Rules

linux

Block SQL injection patterns targeting the vulnerable parameters

ModSecurity rule: SecRule ARGS "(?i)(union|select|insert|update|delete|drop|--|#|\/\*|\*\/)" "id:1001,phase:2,deny,status:403,msg:'SQLi attempt'

🧯 If You Can't Patch

  • Implement strict WAF rules to block SQL injection patterns
  • Restrict database user permissions to read-only for the plugin

🔍 How to Verify

Check if Vulnerable:

Check WordPress admin → Plugins → Simply Schedule Appointments → Version number

Check Version:

wp plugin get simply-schedule-appointments --field=version

Verify Fix Applied:

Verify plugin version is 1.6.10.0 or higher in WordPress admin

📡 Detection & Monitoring

Log Indicators:

  • Unusual SQL queries in database logs
  • Multiple failed parameter requests with SQL keywords
  • Requests to appointment endpoints with 'order' or 'append_where_sql' parameters containing SQL syntax

Network Indicators:

  • HTTP POST/GET requests containing SQL injection payloads in parameters
  • Unusual traffic patterns to appointment booking endpoints

SIEM Query:

source="web_logs" AND (url="*appointment*" AND (param="*order*" OR param="*append_where_sql*") AND (content="*union*" OR content="*select*" OR content="*--*" OR content="*#*"))

🔗 References

📤 Share & Export