vuln2shell

CatalogToolShell

ToolShell (CVE-2025-53770)

Single product toolshell

Unauthenticated deserialization RCE chain against on-premises Microsoft SharePoint Server, evolving from the Pwn2Own ToolShell bugs CVE-2025-49704 and CVE-2025-49706. Exploited in the wild from mid-Jul 2025. CVE-2025-53770 listed in CISA KEV on 20 Jul 2025.

PatchedKEVExploited
Aliases
CVE-2025-53770, CVE-2025-53771, CVE-2025-49704, CVE-2025-49706, SharePoint ToolShell
Published
Updated

What the bug is

ToolShell is the public name for an unauthenticated exploit chain against on-premises Microsoft SharePoint Server. Code White GmbH reproduced the chain from two Pwn2Own Berlin bugs, CVE-2025-49706 (authentication bypass) and CVE-2025-49704 (deserialization RCE), and Eye Security identified large-scale exploitation on the evening of 18 Jul 2025.

Microsoft later assigned CVE-2025-53770 for deserialization of untrusted data enabling unauthorized code execution over a network, and CVE-2025-53771 for related spoofing. NVD quotes Microsoft: an exploit for CVE-2025-53770 exists in the wild. SharePoint Online in Microsoft 365 is not affected.

Observed attacks POST to the ToolPane endpoint with a Referer of /_layouts/SignOut.aspx, drop variants of spinstall0.aspx, and steal ASP.NET machine keys. Microsoft attributes exploitation to China-nexus actors Linen Typhoon, Violet Typhoon, and Storm-2603 (the last also linked to Warlock / LockBit ransomware).

Attack path

  1. Auth bypassUnauthenticated request reaches SharePoint ToolPane with a crafted Referer that bypasses authentication checks.
  2. Unsafe deserializeSharePoint deserializes attacker-controlled data (CVE-2025-49704 / CVE-2025-53770 class).
  3. Web shell / key theftAttackers drop spinstall0.aspx (or variants) and steal ASP.NET machine keys.
  4. Follow-on accessStolen keys and webshells enable persistent access and further post-exploitation. Conceptual impact class only.

High-level only. Not a reproduction guide.

Exploitation status

CISA KEV

Listed in CISA KEV as of .

CISA KEV catalog

CISA KEV entries include CVE-2025-53770 (dateAdded 2025-07-20), CVE-2025-49704 and CVE-2025-49706 (dateAdded 2025-07-22). knownRansomwareCampaignUse Known for these entries.

First seen

Seen . Source: Microsoft Security Blog

Microsoft analysis suggests threat actors were attempting to exploit CVE-2025-49706 and CVE-2025-49704 as early as 7 Jul 2025. Eye Security identified large-scale exploitation on the evening of 18 Jul 2025.

What defenders should do today

Do today

  1. 1

    Install the SharePoint security updates

    Apply the July 2025 comprehensive updates for Subscription Edition (KB5002768), SharePoint 2019 (KB5002754 / language pack KB5002753), and SharePoint 2016 (KB5002760 / language pack KB5002759). SharePoint Online needs no action.

    Microsoft SharePoint guidance

  2. 2

    Enable AMSI Full Mode on SharePoint

    Microsoft says enabling Antimalware Scan Interface integration with Microsoft Defender Antivirus (or equivalent) in Full Mode helps stop unauthenticated attacks. If AMSI cannot be enabled, consider removing internet exposure until patched.

  3. 3

    Rotate ASP.NET machine keys and restart IIS

    After patching or enabling AMSI, rotate SharePoint server ASP.NET machine keys and restart IIS on all SharePoint servers. Stolen keys survive webshell cleanup.

This week

  1. 1

    Hunt for ToolPane posts and spinstall webshells

    Search IIS logs for POSTs to /_layouts/15/ToolPane.aspx with Referer /_layouts/SignOut.aspx, and for spinstall0.aspx / spinstall.aspx / spinstallN.aspx under layouts paths.

    Eye Security ToolShell report

Detection rules

Sigma

  • SharePoint ToolShell CVE-2025-53770 Exploitation - Web IIS

    Log source: IIS W3C logs

    title: SharePoint ToolShell CVE-2025-53770 Exploitation - Web IIS
    id: 48d053db-6a56-4866-b60d-0975647050ed
    status: experimental
    description: |
        Detects access to vulnerable SharePoint components potentially being exploited in CVE-2025-53770 through IIS web server logs.
        CVE-2025-53770 is a zero-day vulnerability in SharePoint that allows remote code execution.
    references:
        - https://www.linkedin.com/posts/mauricefielenbach_sharepoint-incidentresponse-windowssecurity-activity-7352653907363303425-bL2f
        - https://research.eye.security/sharepoint-under-siege/
        - https://msrc.microsoft.com/blog/2025/07/customer-guidance-for-sharepoint-vulnerability-cve-2025-53770/
    author: Swachchhanda Shrawan Poudel (Nextron Systems)
    date: 2025-07-21
    tags:
        - attack.initial-access
        - attack.t1190
        - cve.2025-53770
        - detection.emerging-threats
    logsource:
        category: webserver # IIS web server logs
    detection:
        selection_exploit_post:
            cs-method: 'POST'
            cs-uri-stem|contains: '/_layouts/15/ToolPane.aspx'
            cs-uri-query|contains: 'DisplayMode=Edit&a=/ToolPane.aspx'
        selection_exploit_get:
            cs-method: 'GET'
            cs-uri-stem|contains: '/_layouts/15/spinstall0.aspx'
        selection_referer:
            cs-referer|contains: '/_layouts/SignOut.aspx'
        condition: 1 of selection_exploit_* and selection_referer
    falsepositives:
        - Unknown
    level: medium

    By Swachchhanda Shrawan Poudel (Nextron Systems), . Source. License: DRL-1.1

  • Potential SharePoint ToolShell CVE-2025-53770 Exploitation - File Create

    Log source: Windows file creation (Sysmon 11)

    title: Potential SharePoint ToolShell CVE-2025-53770 Exploitation - File Create
    id: ba479447-721f-42a9-9af2-6dcd517bbdb3
    status: experimental
    description: |
        Detects the creation of file such as spinstall0.aspx which may indicate successful exploitation of CVE-2025-53770.
        CVE-2025-53770 is a zero-day vulnerability in SharePoint that allows remote code execution.
    references:
        - https://research.eye.security/sharepoint-under-siege/
        - https://msrc.microsoft.com/blog/2025/07/customer-guidance-for-sharepoint-vulnerability-cve-2025-53770/
        - https://unit42.paloaltonetworks.com/microsoft-sharepoint-cve-2025-49704-cve-2025-49706-cve-2025-53770/
    author: Swachchhanda Shrawan Poudel (Nextron Systems)
    date: 2025-07-21
    modified: 2025-07-24
    tags:
        - attack.initial-access
        - attack.t1190
        - cve.2025-53770
        - detection.emerging-threats
    logsource:
        product: windows
        category: file_event
    detection:
        selection:
            TargetFilename|startswith:
                - 'C:\Program Files\Common Files\Microsoft Shared\Web Server Extensions\'
                - 'C:\Program Files (x86)\Common Files\Microsoft Shared\Web Server Extensions\'
            TargetFilename|contains:
                - '\15\TEMPLATE\LAYOUTS\'
                - '\16\TEMPLATE\LAYOUTS\'
            TargetFilename|endswith:
                - '\spinstall.aspx'
                - '\spinstall?.aspx'
                - '\debug_dev.js'
        condition: selection
    falsepositives:
        - Unknown
    level: critical

    By Swachchhanda Shrawan Poudel (Nextron Systems), . Source. License: DRL-1.1

SPL (Splunk)

  • Windows SharePoint ToolPane Endpoint Exploitation Attempt

    Log source: Web data model (Suricata, IIS or proxy logs)

    | tstats count min(_time) as firstTime max(_time) as lastTime FROM datamodel=Web
      WHERE Web.url="*/_layouts/15/ToolPane.aspx*"
        AND
        Web.url="*DisplayMode=Edit*" Web.http_method=POST
      BY Web.http_user_agent, Web.status, Web.http_method,
         Web.url, Web.url_length, Web.src,
         Web.dest, sourcetype
    | `drop_dm_object_name("Web")`
    | `security_content_ctime(firstTime)`
    | `security_content_ctime(lastTime)`
    | `windows_sharepoint_toolpane_endpoint_exploitation_attempt_filter`

    By Michael Haag, Splunk, . Source. License: Apache-2.0

    Uses Splunk ES macros and data models from splunk/security_content; the trailing _filter macro is a tuning hook.

  • Windows SharePoint Spinstall0 Webshell File Creation

    Log source: Sysmon EventID 11 (Endpoint.Filesystem data model)

    | tstats count min(_time) as firstTime max(_time) as lastTime from datamodel=Endpoint.Filesystem where Filesystem.file_name="spinstall0.aspx" AND (Filesystem.file_path="*\\microsoft shared\\Web Server Extensions\\16\\TEMPLATE\\LAYOUTS*" OR Filesystem.file_path="*\\microsoft shared\\Web Server Extensions\\15\\TEMPLATE\\LAYOUTS*") by Filesystem.dest Filesystem.user Filesystem.file_create_time Filesystem.file_name Filesystem.file_path Filesystem.action Filesystem.process_guid Filesystem.process_id Filesystem.vendor_product | `drop_dm_object_name(Filesystem)` | `security_content_ctime(firstTime)` | `security_content_ctime(lastTime)` | `windows_sharepoint_spinstall0_webshell_file_creation_filter`

    By Michael Haag, Splunk, . Source. License: Apache-2.0

    Uses Splunk ES macros and data models from splunk/security_content; the trailing _filter macro is a tuning hook.

KQL (Microsoft Sentinel / Defender)

  • Successful exploitation using file creation (spinstall0.aspx)

    Hunting query

    Log source: Microsoft Defender for Endpoint DeviceFileEvents

    DeviceFileEvents 
    | where FolderPath has_any ("microsoft shared\\Web Server Extensions\\15\\TEMPLATE\\LAYOUTS", "microsoft shared\\Web Server Extensions\\16\\TEMPLATE\\LAYOUTS") 
    | where FileName contains "spinstall" or FileName contains "spupdate" or FileName contains "SpLogoutLayout" or FileName contains "SP.UI.TitleView" 
    or FileName contains "queryruleaddtool" or FileName contains "ClientId"
    | project Timestamp, DeviceName, InitiatingProcessFileName, InitiatingProcessCommandLine, FileName, FolderPath, ReportId, ActionType, SHA256 
    | order by Timestamp desc

    By Microsoft Threat Intelligence, . Source. License: Posted publicly; see source

    Copied from the blog's Defender XDR hunting section (updated 23 Jul 2025).

LogScale (CrowdStrike)

  • CVE-2025-53770 - WebShell Discovery from w3wp.exe

    Log source: CrowdStrike Falcon ProcessRollup2, NewScriptWritten / WebScriptFileWritten (Windows)

    // CVE-2025-53770 - WebShell Discovery from w3wp.exe
    
    correlate(
        cmd: {
            #event_simpleName=ProcessRollup2 event_platform=Win FileName="cmd.exe" ParentBaseFileName="w3wp.exe"
              } include: [aid, ComputerName, TargetProcessId, ParentBaseFileName, FileName, CommandLine],
        pwsh: {
            #event_simpleName=ProcessRollup2 event_platform=Win FileName="powershell.exe"
              | aid <=> cmd.aid
              | ParentProcessId <=> cmd.TargetProcessId
              } include: [aid, ComputerName, TargetProcessId, ParentBaseFileName, FileName, CommandLine],
        aspx: {
            #event_simpleName=/^(NewScriptWritten|WebScriptFileWritten)$/ event_platform=Win FileName=/\.aspx/i
              | aid <=> cmd.aid
              | ContextProcessId <=> pwsh.TargetProcessId
              } include: [aid, ComputerName, TargetFileName],
    sequence=true, within=5m)

    By CrowdStrike LogScale community content, . Source. License: Unlicense

    Sequence w3wp.exe to cmd.exe to powershell.exe to .aspx write within 5 minutes.

Suricata / Snort

  • ET EXPLOIT Microsoft SharePoint ToolPane Authentication Bypass (CVE-2025-49706)

    Log source: Suricata IDS alerts (ET Open ruleset)

    alert http any any -> $HOME_NET any (msg:"ET EXPLOIT Microsoft SharePoint ToolPane Authentication Bypass (CVE-2025-49706)"; flow:established,to_server; http.method; content:"POST"; http.uri; content:"|2f|toolpane.aspx|3f|"; fast_pattern; nocase; content:"displaymode|3d|edit"; nocase; content:"|2f|toolpane.aspx"; endswith; nocase; http.referer; content:"|2f|signout.aspx"; nocase; http.request_body; content:"msotlpn_uri|3d|"; nocase; pcre:"/^.*?(?:\x252[fF]|\x2f)_controltemplates(?:\x252[fF]|\x2f).*?(?:\x252[eE]|\x2e)ascx(?:\x26|$)/R"; content:"msotlpn_dwp|3d|"; nocase; reference:url,msrc.microsoft.com/update-guide/vulnerability/CVE-2025-49706; reference:cve,2025-49706; classtype:attempted-user; sid:2063647; rev:1; metadata:affected_product Microsoft_Sharepoint, attack_target Server, tls_state TLSDecrypt, created_at 2025_07_08, cve CVE_2025_49706, deployment Perimeter, deployment Internal, confidence Medium, signature_severity Major, tag Exploit, tag CISA_KEV, updated_at 2025_07_22, former_sid 2863405, mitre_tactic_id TA0001, mitre_tactic_name Initial_Access, mitre_technique_id T1190, mitre_technique_name Exploit_Public_Facing_Application; target:dest_ip;)

    By Emerging Threats (Proofpoint), . Source. License: BSD-3-Clause (ET Open, sids 2000000-2799999)

    Needs decrypted HTTP to SharePoint.

YARA

  • WEBSHELL_ASPX_Sharepoint_Drop_CVE_2025_53770_Jul25

    Log source: Files under SharePoint LAYOUTS directories (YARA scan)

    rule WEBSHELL_ASPX_Sharepoint_Drop_CVE_2025_53770_Jul25 {
       meta:
          description = "Detects ASPX web shell dropped during the exploitation of SharePoint RCE vulnerability CVE-2025-53770"
          author = "Florian Roth"
          reference = "https://research.eye.security/sharepoint-under-siege/"
          date = "2025-07-20"
          score = 80
          hash = "27c45b8ed7b8a7e5fff473b50c24028bd028a9fe8e25e5cea2bf5e676e531014"
          hash = "92bb4ddb98eeaf11fc15bb32e71d0a63256a0ed826a03ba293ce3a8bf057a514"
          hash = "b336f936be13b3d01a8544ea3906193608022b40c28dd8f1f281e361c9b64e93"
          id = "f1c8f671-a0d2-5aaf-93f4-025dace0dbe1"
       strings:
          $x1 = "var sy = System.Reflection.Assembly.Load(" ascii
          $x2 = "Response.Write(cg.ValidationKey+" ascii
    
          $s1 = "<script runat=\"server\" language=\"c#\" CODEPAGE=\"65001\">" ascii fullword
       condition:
          filesize < 4KB
          and 1 of ($x*)
          or all of them
    }

    By Florian Roth, . Source. License: DRL-1.1

More detection content

Affected versions

Microsoft SharePoint Server (on-premises)

Product version table
VersionStatusAdvisory
SharePoint Server Subscription EditionAffected

Security Update for Microsoft SharePoint Server Subscription Edition (KB5002768).

Source
SharePoint Server 2019Affected

Security Update for Microsoft SharePoint 2019 (KB5002754) and Language Pack (KB5002753).

Source
SharePoint Server 2016Affected

Security Update for Microsoft SharePoint Enterprise Server 2016 (KB5002760) and Language Pack (KB5002759).

Source
SharePoint Online (Microsoft 365)Vendor stated not affected

These vulnerabilities affect on-premises SharePoint servers only and do not affect SharePoint Online in Microsoft 365.

Source

Timeline6

Key events

Newest first.

  1. Vendor

    Microsoft details Linen Typhoon, Violet Typhoon, and Storm-2603 activity, plus KB5002768 / KB5002754 / KB5002760 updates.

    Source
  2. KEV

    CVE-2025-53770 published. CISA adds it to KEV and alerts defenders.

    Source
  3. Patch

    Microsoft releases out-of-band guidance and begins shipping comprehensive updates.

    Source
  4. Exploited

    Eye Security identifies large-scale ToolShell exploitation in customer telemetry.

    Source
  5. Exploited

    Microsoft assesses earliest exploitation attempts against CVE-2025-49706 / CVE-2025-49704.

    Source
  6. Disclosure

    CVE-2025-49704 and CVE-2025-49706 presented at Pwn2Own Berlin (ToolShell chain), May 2025.

    Source
Full timeline (6)
Tue 22 Jul 20251
  1. Vendor

    Microsoft details Linen Typhoon, Violet Typhoon, and Storm-2603 activity, plus KB5002768 / KB5002754 / KB5002760 updates.

    Source
Sun 20 Jul 20251
  1. KEV

    CVE-2025-53770 published. CISA adds it to KEV and alerts defenders.

    Source
Sat 19 Jul 20251
  1. Patch

    Microsoft releases out-of-band guidance and begins shipping comprehensive updates.

    Source
Fri 18 Jul 20251
  1. Exploited

    Eye Security identifies large-scale ToolShell exploitation in customer telemetry.

    Source
Mon 7 Jul 20251
  1. Exploited

    Microsoft assesses earliest exploitation attempts against CVE-2025-49706 / CVE-2025-49704.

    Source
No date yet1
  1. Disclosure

    CVE-2025-49704 and CVE-2025-49706 presented at Pwn2Own Berlin (ToolShell chain), May 2025.

    Source

News & write-ups

PoC index (for defenders)

Public proof-of-concept links for defensive validation, with a source and a validation status.

  • Source: kaizensecurity. Validated

    Public repository created 21 Jul 2025 and referenced from NVD. Validation status not independently confirmed here.

Open questions

No open questions recorded.

Original research

Email alerts coming soon

We’re not sending mail yet. Follow the catalog with RSS or the JSON feed.

Email alerts unavailable

Email signup is disabled until a mail provider is configured.

RSSJSON feed