Back to Intelligence

CVE-2026-63520: Microsoft SharePoint Unauthenticated RCE Chained with CVE-2026-55040 — Detection and Remediation Guide

SA
Security Arsenal Team
August 11, 2026
12 min read

If you run on-premises Microsoft SharePoint, stop what you're doing and read this. Rapid7 Labs, working through an unpatched vulnerability research project against SharePoint, discovered two previously unknown vulnerabilities that — when chained together — give an attacker unauthenticated remote code execution on a vulnerable SharePoint server. The second and most critical bug in that chain, CVE-2026-63520, has now been publicly disclosed and patched by Microsoft. The first link in the chain, CVE-2026-55040, was disclosed last month.

Let me be blunt about why this matters: SharePoint sits at the intersection of your intranet, your document management system, and — in most enterprises — your identity and collaboration backbone. It is internet-facing in a disturbing number of organizations, it runs with significant privileges, and it has a long and painful history of being the initial-access vector in ransomware and espionage campaigns. An unauthenticated RCE chain against all supported versions is about as bad as it gets for a perimeter-adjacent Microsoft workload.

The good news: both vulnerabilities are fixed. The bad news: with full technical details now public from Rapid7, the clock on weaponization has started. If history is any guide, exploit code and mass scanning will follow disclosure of a chain this clean. Patch first, hunt second, and treat any unpatched window as presumptively compromised.

Technical Analysis

What We Know

  • CVE-2026-63520 — the critical code execution flaw, disclosed this month jointly by Rapid7 and Microsoft. This is the payload-delivery stage of the chain: the bug that ultimately executes attacker-controlled code on the SharePoint server.
  • CVE-2026-55040 — the first vulnerability in the chain, disclosed last month. Chained with CVE-2026-63520, it enables the path to unauthenticated exploitation — meaning the attacker needs no credentials, no valid session, and no user interaction.
  • Affected products: CVE-2026-63520 affects all supported versions of Microsoft SharePoint (and certain versions beyond that set, per Rapid7's disclosure). That means SharePoint Server Subscription Edition, SharePoint Server 2019, and SharePoint Server 2016 deployments must all be treated as in-scope until verified patched.
  • Attack surface: SharePoint's web front-end — IIS application pools (w3wp.exe) servicing HTTP/HTTPS requests. An unauthenticated chain against this surface means any host that can reach SharePoint over the network can potentially exploit it. If your farm is internet-exposed, assume you are being scanned right now.

How the Chain Works (Defender's View)

Rapid7's research model — deliberately hunting for unpatched bugs and chaining them — mirrors exactly how advanced adversaries operate. Individually, each bug in a chain may look moderate; combined, they bypass authentication and land code execution. From a defensive standpoint, the exploitation sequence you should model is:

  1. Unauthenticated HTTP requests to SharePoint web endpoints abusing the CVE-2026-55040 primitive to defeat or bypass an authentication/authorization control.
  2. Leveraging that access against CVE-2026-63520 to trigger code execution in the context of the SharePoint application pool account.
  3. Post-exploitation behavior — this is where your detections live. Code execution inside w3wp.exe on a SharePoint server almost always manifests as the IIS worker process spawning child processes (cmd.exe, powershell.exe, rundll32.exe), dropping web shells or executables into web-accessible directories (LAYOUTS, TEMPLATE, inetpub paths), and making outbound network connections the server has no business making.

That third stage is your hunting ground. Even before you can confirm whether a given request exploited the chain, the behavioral aftermath of a successful SharePoint RCE is highly observable and, frankly, noisy if you know where to look.

Exploitation Status

As of this disclosure, the vulnerabilities were discovered through Rapid7's research program and are being released in coordinated fashion with Microsoft fixes available — this is not a zero-day caught in the wild. However, do not let that lull you. Public technical disclosure of a working unauthenticated RCE chain against SharePoint historically compresses the time-to-exploitation to days, not weeks. Treat this as pre-KEV urgency: patch as if active exploitation is imminent, because it is.

Detection & Response

The detections below target the observable behaviors of a successful SharePoint compromise — IIS worker process abuse, web shell drops, and anomalous child process execution. These are durable rules: they catch this CVE chain, the next SharePoint chain, and most web-shell-driven intrusions against your farm.

Sigma Rules

YAML
---
title: IIS Worker Process Spawning Command Shell or Scripting Engine
description: Detects w3wp.exe spawning cmd.exe, powershell.exe, or other LOLBins — a hallmark of web server RCE exploitation including SharePoint exploit chains such as CVE-2026-63520.
id: 3f8a2c14-7b51-4e9a-9c2d-5e6f7a8b9c0d
status: experimental
references:
  - https://www.rapid7.com/blog/post/etr-cve-2026-63520-microsoft-sharepoint-remote-code-execution-fixed
  - https://attack.mitre.org/techniques/T1059/
author: Security Arsenal
date: 2026/04/06
tags:
  - attack.execution
  - attack.t1059
  - attack.initial_access
  - attack.t1190
logsource:
  category: process_creation
  product: windows
detection:
  selection_parent:
    ParentImage|endswith: '\w3wp.exe'
  selection_child:
    Image|endswith:
      - '\cmd.exe'
      - '\powershell.exe'
      - '\powershell_ise.exe'
      - '\pwsh.exe'
      - '\cscript.exe'
      - '\wscript.exe'
      - '\mshta.exe'
      - '\rundll32.exe'
      - '\regsvr32.exe'
      - '\certutil.exe'
      - '\bitsadmin.exe'
      - '\curl.exe'
      - '\wget.exe'
  condition: selection_parent and selection_child
falsepositives:
  - Rare — some legacy SharePoint solutions and custom timer jobs may legitimately spawn processes. Baseline per farm before tuning.
level: high
---
title: File Creation in SharePoint Web-Accessible Directories by IIS Worker Process
description: Detects w3wp.exe writing executable or script content into SharePoint LAYOUTS/TEMPLATE or inetpub directories — consistent with web shell deployment following exploitation of a SharePoint RCE such as CVE-2026-63520.
id: 9d4e1b72-2a63-4f8c-b1a7-3c5d6e7f8a9b
status: experimental
references:
  - https://www.rapid7.com/blog/post/etr-cve-2026-63520-microsoft-sharepoint-remote-code-execution-fixed
  - https://attack.mitre.org/techniques/T1505/003/
author: Security Arsenal
date: 2026/04/06
tags:
  - attack.persistence
  - attack.t1505.003
logsource:
  category: file_event
  product: windows
detection:
  selection_image:
    Image|endswith: '\w3wp.exe'
  selection_path:
    TargetFilename|contains:
      - '\LAYOUTS\'
      - '\TEMPLATE\'
      - '\inetpub\'
      - '\wwwroot\'
  selection_ext:
    TargetFilename|endswith:
      - '.aspx'
      - '.ashx'
      - '.asmx'
      - '.asp'
      - '.php'
      - '.exe'
      - '.dll'
      - '.ps1'
      - '.bat'
  condition: selection_image and selection_path and selection_ext
falsepositives:
  - SharePoint cumulative update installation and solution (WSP) deployment during maintenance windows. Correlate with change windows.
level: high
---
title: Suspicious Encoded PowerShell Execution on SharePoint Server
description: Detects encoded or obfuscated PowerShell command lines on systems running SharePoint — common post-exploitation tradecraft after gaining code execution via a web-facing vulnerability.
id: 5b2c9d81-6e47-4a3f-8d1c-2e4f5a6b7c8d
status: experimental
references:
  - https://attack.mitre.org/techniques/T1027/
  - https://attack.mitre.org/techniques/T1059/001/
author: Security Arsenal
date: 2026/04/06
tags:
  - attack.defense_evasion
  - attack.t1027
  - attack.execution
  - attack.t1059.001
logsource:
  category: process_creation
  product: windows
detection:
  selection_img:
    Image|endswith:
      - '\powershell.exe'
      - '\pwsh.exe'
  selection_cli:
    CommandLine|contains:
      - ' -enc '
      - ' -ec '
      - ' -EncodedCommand'
      - 'FromBase64String'
      - 'IEX'
      - 'Invoke-Expression'
      - 'DownloadString'
      - 'Net.WebClient'
  filter_sp_mgmt:
    CommandLine|contains:
      - 'Microsoft.SharePoint'
      - 'stsadm'
  condition: selection_img and selection_cli and not filter_sp_mgmt
falsepositives:
  - Some enterprise management tooling (SCCM, monitoring agents) uses encoded commands. Allow-list known management accounts and hosts.
level: medium

KQL — Microsoft Sentinel / Defender

This query hunts for the full behavioral picture on SharePoint hosts: IIS worker processes spawning suspicious children, file drops into web directories, and unexpected outbound connections from w3wp.exe.

KQL — Microsoft Sentinel / Defender
// Hunt for SharePoint/IIS exploitation behavior — CVE-2026-63520 chain aftermath
// Part 1: w3wp spawning shells or LOLBins
let SuspiciousChildren = dynamic(["cmd.exe", "powershell.exe", "pwsh.exe", "cscript.exe", "wscript.exe", "mshta.exe", "rundll32.exe", "regsvr32.exe", "certutil.exe", "bitsadmin.exe", "curl.exe", "whoami.exe", "net.exe", "nltest.exe"]);
DeviceProcessEvents
| where TimeGenerated > ago(14d)
| where InitiatingProcessFileName =~ "w3wp.exe"
| where FileName in~ (SuspiciousChildren)
| project TimeGenerated, DeviceName, FileName, ProcessCommandLine, InitiatingProcessCommandLine, AccountName, SHA256
| order by TimeGenerated desc;
// Part 2: Executable/script file drops into SharePoint web directories by IIS
DeviceFileEvents
| where TimeGenerated > ago(14d)
| where InitiatingProcessFileName =~ "w3wp.exe"
| where FolderPath has_any ("\\LAYOUTS\\", "\\TEMPLATE\\", "\\inetpub\\", "\\wwwroot\\")
| where FileName endswith_any (".aspx", ".ashx", ".asmx", ".asp", ".exe", ".dll", ".ps1", ".bat")
| project TimeGenerated, DeviceName, FileName, FolderPath, InitiatingProcessCommandLine, SHA256
| order by TimeGenerated desc;
// Part 3: Anomalous outbound connections from w3wp (exclude typical Microsoft/SQL destinations after baselining)
DeviceNetworkEvents
| where TimeGenerated > ago(14d)
| where InitiatingProcessFileName =~ "w3wp.exe"
| where RemoteIPType == "Public"
| summarize ConnectionCount = count(), FirstSeen = min(TimeGenerated), LastSeen = max(TimeGenerated) by DeviceName, RemoteIP, RemoteUrl, RemotePort
| order by ConnectionCount asc

Velociraptor VQL

Use this artifact to sweep SharePoint front-end servers for live evidence of post-exploitation: suspicious child processes of w3wp.exe and recently created executable content in web-accessible paths.

VQL — Velociraptor
-- Hunt SharePoint servers for web shell artifacts and w3wp-spawned processes
-- CVE-2026-63520 / CVE-2026-55040 exploitation aftermath

-- Part 1: Suspicious processes spawned by the IIS worker process
SELECT Pid, Ppid, Name, CommandLine, Exe, Username, CreateTime
FROM pslist()
WHERE CommandLine =~ '(?i)(powershell|cmd\.exe|mshta|rundll32|certutil|bitsadmin)'
  AND Username =~ '(?i)(IIS APPPOOL|NETWORK SERVICE)'

-- Part 2: Recently written executable/script files in SharePoint web directories
SELECT FullPath, Size, Mtime, Ctime
FROM glob(globs=[
  'C:/Program Files/Common Files/Microsoft Shared/Web Server Extensions/*/TEMPLATE/LAYOUTS/**/*.aspx',
  'C:/Program Files/Common Files/Microsoft Shared/Web Server Extensions/*/TEMPLATE/LAYOUTS/**/*.ashx',
  'C:/inetpub/wwwroot/**/*.aspx',
  'C:/inetpub/**/*.exe'
])
WHERE Mtime > now() - 1209600
ORDER BY Mtime DESC

-- Part 3: Active outbound connections from w3wp.exe
SELECT Pid, Name, Path, Status,
       Laddr.IP AS LocalIP, Laddr.Port AS LocalPort,
       Raddr.IP AS RemoteIP, Raddr.Port AS RemotePort
FROM netstat()
WHERE Name =~ '(?i)w3wp'
  AND Status =~ 'ESTAB'
  AND NOT RemoteIP =~ '^(10\\.|172\\.(1[6-9]|2[0-9]|3[01])\\.|192\\.168\\.|127\\.)'

Remediation & Verification Script

Run this on each SharePoint server to enumerate installed SharePoint builds, confirm the current patch level against Microsoft's security update guidance, and audit for the post-exploitation artifacts described above.

PowerShell
# CVE-2026-63520 / CVE-2026-55040 — SharePoint patch verification and compromise sweep
# Run elevated on each SharePoint server in the farm.

# --- 1. Identify installed SharePoint product and build ---
Write-Host "[*] Enumerating installed SharePoint products..." -ForegroundColor Cyan
Get-ItemProperty HKLM:\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\* |
  Where-Object { $_.DisplayName -match 'SharePoint' } |
  Select-Object DisplayName, DisplayVersion, InstallDate | Format-Table -AutoSize

# --- 2. Pull SharePoint farm build version (requires SharePoint snapin) ---
Write-Host "[*] Querying farm build version..." -ForegroundColor Cyan
try {
  Add-PSSnapin Microsoft.SharePoint.PowerShell -ErrorAction Stop
  (Get-SPFarm).BuildVersion
  Get-SPProduct -Local | Select-Object ProductName, InstallStatus
} catch {
  Write-Warning "SharePoint snapin unavailable — verify build manually via Central Admin > Servers in Farm."
}
Write-Host "[!] ACTION: Compare the build above against the security update table in Microsoft's CVE-2026-63520 advisory (https://msrc.microsoft.com). If below the patched build, apply the update immediately." -ForegroundColor Yellow

# --- 3. Sweep for web shells / suspicious files dropped in the last 30 days ---
Write-Host "[*] Sweeping web-accessible directories for recently dropped executables/scripts..." -ForegroundColor Cyan
$since = (Get-Date).AddDays(-30)
$paths = @(
  "C:\Program Files\Common Files\Microsoft Shared\Web Server Extensions",
  "C:\inetpub"
)
foreach ($p in $paths) {
  if (Test-Path $p) {
    Get-ChildItem -Path $p -Recurse -Include *.aspx,*.ashx,*.asmx,*.asp,*.exe,*.ps1,*.bat -ErrorAction SilentlyContinue |
      Where-Object { $_.LastWriteTime -gt $since } |
      Select-Object FullName, LastWriteTime, Length | Format-Table -AutoSize
  }
}

# --- 4. Check for w3wp spawning suspicious child processes (last 14 days of event log) ---
Write-Host "[*] Checking process creation events for w3wp spawning shells (requires Audit Process Creation + cmdline logging)..." -ForegroundColor Cyan
Get-WinEvent -FilterHashtable @{ LogName='Security'; Id=4688; StartTime=(Get-Date).AddDays(-14) } -ErrorAction SilentlyContinue |
  Where-Object { $_.Message -match 'w3wp\.exe' -and $_.Message -match '(cmd\.exe|powershell|mshta|rundll32|certutil)' } |
  Select-Object TimeCreated, Message -First 25 | Format-List

# --- 5. Verify outbound exposure ---
Write-Host "[*] Listing IIS site bindings — confirm SharePoint is NOT unintentionally internet-facing..." -ForegroundColor Cyan
Import-Module WebAdministration -ErrorAction SilentlyContinue
Get-Website | Select-Object Name, State, @{N='Bindings';E={ ($_.Bindings.Collection | ForEach-Object { $_.bindingInformation }) -join '; ' }} | Format-Table -AutoSize

Write-Host "[*] Done. Any file/process hits above warrant immediate IR triage." -ForegroundColor Green

Remediation

  1. Patch immediately. Apply the Microsoft security update addressing CVE-2026-63520 — and verify the CVE-2026-55040 fix from last month is already deployed. Both bugs are required for the unauthenticated chain, but patching only one leaves you one bug away from compromise. Consult the Microsoft Security Response Center entries for both CVEs at https://msrc.microsoft.com and Rapid7's disclosure at https://www.rapid7.com/blog/post/etr-cve-2026-63520-microsoft-sharepoint-remote-code-execution-fixed for the authoritative affected-version and fixed-build tables. Remember: SharePoint security updates require installation on every server in the farm, and in many cases the SharePoint Products Configuration Wizard must be run afterward — plan the maintenance window accordingly.

  2. Assume breach for any unpatched window. If your farm was unpatched and reachable after public disclosure details emerged, run the detection content above and review IIS logs (C:\inetpub\logs\LogFiles) for anomalous unauthenticated requests preceding any suspicious process or file activity. Escalate any hits to your IR process.

  3. Reduce the attack surface. If SharePoint does not need to be internet-facing, take it off the internet. Put it behind a VPN, a WAF with virtual patching capability, or an authenticated reverse proxy. An unauthenticated chain only works if unauthenticated users can reach the server.

  4. Harden the blast radius. Ensure the SharePoint application pool and farm service accounts run with least privilege, segment SharePoint servers from domain controllers and high-value assets, and block outbound internet access from SharePoint servers except for explicitly required destinations — this neuters most C2 and payload-retrieval stages.

  5. Improve durable visibility. Enable Audit Process Creation with command-line logging (Event 4688) and Sysmon on all SharePoint servers, forward IIS logs and Windows events to your SIEM, and deploy the Sigma/KQL/VQL content in this post. Web server RCE chains are a recurring pattern — these detections will serve you well beyond this CVE.

  6. Track for KEV addition. Given the severity and the public exploit chain, monitor the CISA Known Exploited Vulnerabilities catalog. If CVE-2026-63520 is added, federal civilian agencies will face a binding remediation deadline under BOD 22-01 — use that as an internal forcing function even if you're in the private sector.

Final Word

SharePoint has earned its place on every defender's watchlist, and a two-bug unauthenticated RCE chain against all supported versions is exactly the kind of vulnerability that ends up in mass-exploitation tooling within days of disclosure. Rapid7 did the community a service by finding this before an adversary did — now the burden is on us to close the window. Patch both CVEs, hunt for the aftermath, and stop exposing collaboration infrastructure to the internet without compensating controls.

Related Resources

Security Arsenal Penetration Testing Services AlertMonitor Platform Book a SOC Assessment vulnerability-management Intel Hub

Is your security operations ready?

Get a free SOC assessment or see how AlertMonitor cuts through alert noise with automated triage.