ToolShell: Microsoft SharePoint远程代码执行漏洞(CVE-2025-53770)
2025年7月27日 · 2分钟阅读
2025年7月19日,一个严重的远程代码执行(RCE)漏洞(CVE-2025-53770,也称为ToolShell)被公开披露,影响本地部署的Microsoft SharePoint Server安装。该漏洞允许未经身份验证的攻击者通过利用不安全的反序列化技术远程执行任意代码。鉴于该平台的广泛使用和互联网暴露,潜在的危害风险巨大且不断增长,特别是在野外已确认存在活跃利用的情况下。
漏洞概述
CVE-2025-53770通过ViewState反序列化中的缺陷针对Microsoft SharePoint,具体在以下端点触发:
/_layouts/15/ToolPane.aspx/_layouts/15/ToolPane.aspx
通过滥用Referer头(指向/_layouts/SignOut.aspx/_layouts/SignOut.aspx
)并上传精心构造的.aspx文件(例如spinstall0.aspx
),攻击者可以绕过身份验证并执行远程负载。一旦执行,这些负载可以从服务器提取ASP.NET机器密钥(ValidationKey
和DecryptionKey
),从而创建服务器会接受为合法的恶意ViewState数据。
该漏洞属于“OWASP A08:2021 – 软件和数据完整性故障”,具体是由于其不安全的反序列化。攻击链还可能涉及两个辅助漏洞:CVE-2025-49706和CVE-2025-49704,这些漏洞加剧了影响。
CVE-2025-53770被分类为严重的预身份验证远程代码执行漏洞,估计CVSS评分为9.8,反映了其易于利用、无需特权以及严重的潜在影响。
野外利用
利用机制
根本原因在于通过ViewState的不安全反序列化,特别是注入恶意控件,如:
<Scorecard:ExcelDataSet CompressedDataTable="..." /><Scorecard:ExcelDataSet CompressedDataTable="..." />
当SharePoint反序列化此负载时,如果攻击者已经拥有机器密钥,会导致任意代码执行。以下是通过curl的截断利用示例:
|
|
Wallarm响应和观察到的利用
Wallarm在披露后不久部署了检测规则,以识别和阻止CVE-2025-53770的利用尝试。几小时内,Wallarm客户受到保护。这些规则检测精心构造的ViewState负载和对易受攻击端点的异常访问。
Wallarm检测到公开披露后利用尝试的立即激增:
这些数字显示威胁行为者快速采用利用代码。GitHub上的公共仓库已经发布了有效的概念验证负载,进一步降低了利用门槛。
缓解措施
Wallarm建议客户:
- 立即修补受影响的SharePoint服务器
- 轮换ASP.NET加密密钥
- 检查系统以寻找危害指标
- 如果未修补,隔离面向公众的SharePoint实例
这种分层防御确保了主动缓解和取证准备。
结论
CVE-2025-53770是像Microsoft SharePoint这样广泛暴露的平台中预身份验证RCE漏洞所带来的严重风险的一个例子。虽然修补和密钥轮换是必要的,但仅凭这些不足以防御快速演变的威胁。
Web应用程序和API保护(WAAP)解决方案对于多层安全策略至关重要,提供虚拟修补、实时威胁检测和攻击面保护,特别是在披露和修复之间的高风险期间。Wallarm对此漏洞的快速响应说明了WAAP如何有效缩小差距,在影响关键系统之前阻止利用尝试。
风险总结
- 高可靠性的预身份验证RCE
- 针对广泛使用的企业协作平台
- 可能导致数据盗窃、横向移动和持久性
公共暴露:Shodan洞察
截至发布时,Shodan搜索结果显示16,405个面向互联网的SharePoint实例,其中许多可能易受攻击。这突出了暴露的规模和修复公共部署的紧迫性。
参考文献
- NVD NIST: CVE-2025-53770
- 供应商公告: Microsoft指南
- https://msrc.microsoft.com/update-guide/vulnerability/CVE-2025-53770
- 安全研究: GitHub利用仓库
- 利用负载: 示例负载