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 ExploitedAffected Software
- Vendor
- Microsoft
- Product
- Windows
Weakness (CWE)
Timeline
- Disclosed
- April 13, 2026
References & Proof of Concept
CVSS
CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H
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
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).
Data Sources
Required Tables
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:
Platform-specific guides for CVE-2025-60710
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.
- 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\.
- 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.
- 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
- Identify the process that created the symbolic link or junction: record the full command line, parent process, and executing user account.
- 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).
- 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).
- 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.
- Correlate the host's patch level against Microsoft's CVE-2025-60710 advisory to confirm exploitability.
Containment
- Isolate the affected endpoint from the network using EDR quarantine or network ACL to prevent lateral movement or data exfiltration while investigation continues.
- Terminate any suspicious processes identified in triage and remove the malicious symbolic link or junction point to stop ongoing exploitation.
Evidence Collection
- 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.
- 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.
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 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
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
cmd.exe /c mklink C:\Windows\Temp\test_link.txt C:\Windows\System32\drivers\etc\hosts && type C:\Windows\Temp\test_link.txt Cleanup
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.
Creates a directory junction point from a user-writable path to C:\Windows\System32, simulating the file redirection primitive in link following attacks.
Command
cmd.exe /c mklink /J C:\Users\Public\sys32_junction C:\Windows\System32 && dir C:\Users\Public\sys32_junction Cleanup
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.
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.exe -Command "[System.IO.Directory]::CreateSymbolicLink('C:\Windows\Temp\ps_link', 'C:\Windows\System32\winevt\Logs')" Cleanup
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.