CVE-2025-60710

Microsoft Windows Link Following Vulnerability (CVE-2025-60710)

CVE-2025-60710 is an actively exploited Microsoft Windows link following vulnerability (CWE-59) that allows an attacker to abuse symbolic links or junction points to redirect file operations to unintended locations. This class of vulnerability is commonly leveraged for privilege escalation, file tampering, or unauthorized access to protected resources. The vulnerability is listed on CISA's Known Exploited Vulnerabilities catalog, indicating confirmed in-the-wild exploitation.

Vulnerability Intelligence

KEV — Known Exploited

Affected Software

Vendor
Microsoft
Product
Windows

Weakness (CWE)

Timeline

Disclosed
April 13, 2026

CVSS

7.8
High (7.0–8.9)

CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H

Write-up coming soon

What is CVE-2025-60710 Microsoft Windows Link Following Vulnerability (CVE-2025-60710)?

Microsoft Windows Link Following Vulnerability (CVE-2025-60710) (CVE-2025-60710) maps to the Privilege Escalation and Defense Evasion and Persistence tactics — the adversary is trying to gain higher-level permissions in MITRE ATT&CK.

This page provides production-ready detection logic for Microsoft Windows Link Following Vulnerability (CVE-2025-60710), covering the data sources and telemetry it touches: Microsoft Defender for Endpoint, Microsoft Sentinel, DeviceFileEvents, DeviceProcessEvents. The queries below are rated high severity at medium confidence, and ship for 7 SIEM platforms — KQL, SPL, Elastic, QRadar, Sumo, YARA-L, LogScale.

MITRE ATT&CK

Tactic
Privilege Escalation Defense Evasion Persistence
Microsoft Sentinel / Defender
kusto
let suspiciousSymlinkOps = DeviceFileEvents
| where ActionType in ("SymlinkCreated", "JunctionCreated", "FileCreated", "FileModified")
| where FileName endswith ".lnk" or FolderPath has_any ("\\Temp\\", "\\AppData\\Local\\Temp\\", "\\Windows\\Temp\\")
| project TimeGenerated, DeviceId, DeviceName, InitiatingProcessAccountName, InitiatingProcessFileName, InitiatingProcessCommandLine, FolderPath, FileName, ActionType;
let privEscIndicators = DeviceProcessEvents
| where ProcessCommandLine has_any ("mklink", "CreateSymbolicLink", "junction", "NtSetInformationFile")
| where AccountName != "SYSTEM" or InitiatingProcessFileName in~ ("cmd.exe", "powershell.exe", "wscript.exe", "cscript.exe")
| project TimeGenerated, DeviceId, DeviceName, AccountName, FileName, ProcessCommandLine, InitiatingProcessFileName;
suspiciousSymlinkOps
| join kind=inner privEscIndicators on DeviceId
| where abs(datetime_diff('second', TimeGenerated, TimeGenerated1)) < 60
| project TimeGenerated, DeviceName, AccountName, ProcessCommandLine, FolderPath, FileName, ActionType
| order by TimeGenerated desc

Detects Windows symbolic link and junction creation activity in temporary or writable directories by non-system processes, correlated with process command lines indicative of link following exploitation (CVE-2025-60710).

high severity medium confidence

Data Sources

Microsoft Defender for Endpoint Microsoft Sentinel DeviceFileEvents DeviceProcessEvents

Required Tables

DeviceFileEvents DeviceProcessEvents

False Positives

  • Legitimate software installers that create symbolic links during setup
  • Developer tools such as Visual Studio or npm that use junctions for module resolution
  • System administrators using mklink for intentional directory remapping

Sigma rule & cross-platform mapping

The detection logic for Microsoft Windows Link Following Vulnerability (CVE-2025-60710) (CVE-2025-60710) above is provided in a vendor-neutral form so you can deploy it on any SIEM. The same logic is shipped here as native KQL (Microsoft Sentinel / Defender), SPL (Splunk), Elastic (Elastic Security (EQL)), QRadar (IBM QRadar (AQL)), Sumo (Sumo Logic CSE), YARA-L (Google Chronicle / SecOps), LogScale (CrowdStrike LogScale (CQL)) queries. In Sigma terms, this detection targets the following logsource:

logsource:
  category: process_creation
  product: windows

Browse the community-maintained Sigma rules for this technique:


Testing Methodology

Validate this detection against 3 adversary techniques from Atomic Red Team. Each test below lists the behaviour to exercise and the telemetry you should expect to see. Executable commands and cleanup steps are available with Pro.

  1. Test 1Create Symbolic Link in Temp Directory Targeting Privileged Path

    Expected signal: Sysmon Event ID 1 capturing mklink.exe execution with command line containing the symlink and target paths; Sysmon Event ID 11 showing creation of test_link.txt in C:\Windows\Temp\.

  2. Test 2Junction Point Creation Targeting System32

    Expected signal: Sysmon Event ID 1 with mklink /J command line and junction target; Windows Security Event ID 4663 on subsequent directory traversal through the junction.

  3. Test 3PowerShell Symbolic Link Creation via .NET API

    Expected signal: Sysmon Event ID 1 showing powershell.exe with CreateSymbolicLink in command line; Sysmon Event ID 11 or 12 for the created link object in Temp directory.


Response Playbook

Triage

  1. Identify the process that created the symbolic link or junction: record the full command line, parent process, and executing user account.
  2. Determine the source and target of the link — assess whether the target path is a privileged system location (e.g., System32, Program Files, SAM hive, sensitive registry exports).
  3. Review the process tree for the suspicious process to identify whether exploitation led to subsequent high-privilege child processes (e.g., cmd.exe or powershell.exe spawned by a SYSTEM-level service).
  4. Check Windows Event ID 4672 (Special Logon) and 4688 (Process Creation) on the affected host within the same time window to detect privilege escalation outcomes.
  5. Correlate the host's patch level against Microsoft's CVE-2025-60710 advisory to confirm exploitability.

Containment

  1. Isolate the affected endpoint from the network using EDR quarantine or network ACL to prevent lateral movement or data exfiltration while investigation continues.
  2. Terminate any suspicious processes identified in triage and remove the malicious symbolic link or junction point to stop ongoing exploitation.

Evidence Collection

  1. Collect the full process creation logs (Sysmon Event ID 1, Windows Event ID 4688) and file system event logs (Sysmon Event ID 11) from the affected host for the 30-minute window surrounding the alert.
  2. Preserve a forensic image or memory dump of the affected system, particularly capturing the contents of the Temp directory, any .lnk files, and the security event log prior to remediation.

Escalation Criteria

  • ! Escalate immediately if the symbolic link target resolves to a privileged system path (e.g., SAM, SYSTEM hive, LSASS process memory, or a domain controller SYSVOL share).
  • ! Escalate if the exploiting process subsequently spawns a shell or executes additional payloads under SYSTEM or Administrator context, indicating successful privilege escalation.

Investigation Guide

Forensic Artifacts

  • > Windows Prefetch files for mklink.exe or any custom dropper — located at C:\Windows\Prefetch\.
  • > MFT (Master File Table) entries for newly created .lnk files or junction points in Temp directories, recoverable via tools like MFTECmd.
  • > Sysmon Event ID 11 (FileCreate) and Event ID 1 (ProcessCreate) logs capturing the link creation timeline.
  • > Windows Security Event ID 4663 (Object Access) showing access attempts on the link target path under SYSTEM context.

Tuning Guidance

Reduce false positives by building an allowlist of known software installers and developer tools (e.g., npm, Visual Studio, SCCM client) that legitimately create symlinks or junctions. Scope the detection to non-interactive service accounts and filter on parent processes commonly associated with user-initiated exploitation (e.g., browser child processes, Office child processes, or processes spawned from user Temp directories). Consider raising confidence to high when the symlink target resolves to a sensitive path such as System32, SAM, or LSASS.


Hunting Queries

Threat hunt for all symbolic link and .lnk file creation activity in temporary paths by non-system accounts across the environment, useful for identifying broader exploitation campaigns leveraging CVE-2025-60710.

Hunting — KQL
kql
DeviceFileEvents
| where ActionType == "SymlinkCreated" or (FileName endswith ".lnk" and FolderPath has "\\Temp\\")
| where InitiatingProcessAccountName !in~ ("SYSTEM", "NT AUTHORITY")
| summarize count() by DeviceName, InitiatingProcessFileName, InitiatingProcessCommandLine, FolderPath, bin(TimeGenerated, 1h)
| order by count_ desc
Hunting — SPL
spl
index=windows source="WinEventLog:Microsoft-Windows-Sysmon/Operational" EventCode=11
| rex field=TargetFilename "(?P<dir>.+\\\\)(?P<fname>[^\\\\]+$)"
| where match(TargetFilename, "(?i)(\\.lnk$|\\\\Temp\\\\|\\\\AppData\\\\)")
| where NOT match(User, "(?i)(SYSTEM|NT AUTHORITY)")
| stats count AS link_events, values(TargetFilename) AS linked_paths BY host, User, Image
| sort - link_events

Atomic Red Team Tests

Test 1 Create Symbolic Link in Temp Directory Targeting Privileged Path
windows

Simulates CVE-2025-60710 exploitation by creating a symbolic link in a writable temp directory pointing to a privileged system file, then attempting a file read through the link.

Command

powershell
cmd.exe /c mklink C:\Windows\Temp\test_link.txt C:\Windows\System32\drivers\etc\hosts && type C:\Windows\Temp\test_link.txt

Cleanup

powershell
cmd.exe /c del C:\Windows\Temp\test_link.txt

Expected Telemetry

Sysmon Event ID 1 capturing mklink.exe execution with command line containing the symlink and target paths; Sysmon Event ID 11 showing creation of test_link.txt in C:\Windows\Temp\.

Expected Detection

Alert fires on symbolic link creation in Temp directory by non-SYSTEM user with command line matching mklink pattern.

Test 2 Junction Point Creation Targeting System32
windows

Creates a directory junction point from a user-writable path to C:\Windows\System32, simulating the file redirection primitive in link following attacks.

Command

powershell
cmd.exe /c mklink /J C:\Users\Public\sys32_junction C:\Windows\System32 && dir C:\Users\Public\sys32_junction

Cleanup

powershell
cmd.exe /c rmdir C:\Users\Public\sys32_junction

Expected Telemetry

Sysmon Event ID 1 with mklink /J command line and junction target; Windows Security Event ID 4663 on subsequent directory traversal through the junction.

Expected Detection

Detection triggers on junction creation command (mklink /J) by a non-privileged user account targeting a system path.

Test 3 PowerShell Symbolic Link Creation via .NET API
windows

Uses PowerShell to invoke the .NET System.IO API to create a symbolic link, bypassing direct mklink invocation and testing API-level detection coverage.

Command

powershell
powershell.exe -Command "[System.IO.Directory]::CreateSymbolicLink('C:\Windows\Temp\ps_link', 'C:\Windows\System32\winevt\Logs')"

Cleanup

powershell
powershell.exe -Command "Remove-Item C:\Windows\Temp\ps_link -Force -ErrorAction SilentlyContinue"

Expected Telemetry

Sysmon Event ID 1 showing powershell.exe with CreateSymbolicLink in command line; Sysmon Event ID 11 or 12 for the created link object in Temp directory.

Expected Detection

Detection fires on PowerShell process with CreateSymbolicLink in command line creating a link in a Temp path, correlated with file creation event.

Related Detections