文章总结: 本文复盘SharePoint本地版JWT认证绕过漏洞CVE-2026-55040及链式RCE。根因是系统允许未签名嵌套JWT外层令牌,攻击者零认证即可冒充管理员并结合不安全类型实例化实现RCE。建议立即安装安全更新,迁移已停止支持的旧版本,限制SMB访问,避免暴露公网并排查IIS机器密钥泄露。 综合评分: 95 文章分类: 漏洞分析,漏洞预警,AI安全,WEB安全,漏洞POC
零认证冒充管理员:SharePoint JWT绕过漏洞CVE-2026-55040复盘
零日手记 零日手记
随笔漫记安全路
2026年8月13日 08:48 北京
在小说阅读器读本章
去阅读
SharePoint Server的JWT校验流程存在多处缺陷,攻击者无需任何凭据,伪造令牌冒充任意用户——包括站点管理员。7月14日Patch Tuesday修复,Rapid7在8月11日放出完整技术分析和PoC。
CVE-2026-55040,CVSS 9.1。SharePoint Online不受影响,仅影响本地部署版。
漏洞根因:嵌套JWT校验缺陷
SharePoint的S2S(Service-to-Service)认证使用嵌套JWT——外层JWT承载用户身份声明,内层actor JWT承载应用身份。校验逻辑要求每一层都跟认证主体做密码学绑定。
问题在于:SharePoint允许未签名的外层令牌。攻击者可以用alg: none构造一个外层JWT,在里面放任意身份、受众、签发者、委派声明。内层actor令牌只需通过结构检查或元数据检查,就能让这些不受信任的外层声明生效。
伪造的令牌可以用两种身份命名方式:
- SID方式:用Windows安全标识符(S-1-5-21-…),通过枚举RID找到站点管理员
- UPN方式:用用户主体名称(如[email protected][1]),需要知道目标用户的UPN
利用流程:三步冒充管理员
Rapid7的PoC脚本(CVE-2026-55040.py)自动化了整个流程:
第一步:自动发现参数
脚本访问SharePoint的STS元数据端点,自动提取:
- x5t:STS签名证书指纹
- realm:SharePoint领域GUID
不需要任何认证,这些信息公网可查。
第二步:枚举用户找管理员
如果攻击者能访问目标域控(通过SMB/LSARPC),脚本自动获取域SID,然后枚举RID(从500开始,然后1000-10000),逐个构造伪造JWT测试是否有效,直到找到站点管理员:
[+] RID 1605: SHAREPOINT\system (System Account) ** SITE ADMIN **
[+] Found site admin at RID 1605, stopping scan
如果无法访问域控,也可以用UPN方式——从HTTPS证书域名推导出UPN,默认试administrator。
第三步:伪造JWT获取权限
用发现的参数伪造JWT令牌,发送到SharePoint API。PoC演示获取form digest成功——管理员权限到手。
RCE链:认证绕过+代码执行
Rapid7没有止步于认证绕过。他们将CVE-2026-55040与另一个漏洞CVE-2026-63520(CVSS 8.1)串联——SharePoint Business Connectivity Services中的不安全.NET类型实例化。
链式利用:认证绕过冒充管理员 → 调用BCS功能触发不安全类型实例化 → 以Windows服务账户权限执行任意代码。
完整链:零认证 → 冒充管理员 → RCE。
CVE-2026-63520影响范围更广:SharePoint Subscription Edition、2019、2016,以及Project Server 2013 SP1和Office Web Apps 2013 SP1。
AI辅助挖掘:80,000次工具调用
Rapid7在2026年1月和3月对SharePoint代码库跑了两次研究冲刺。1月没出成果。3月出了——他们用了一个重度提示的AI Agent辅助发现这条双漏洞链。
24天Agent工作期间:96个会话、256次提示、约80,000次工具调用。
Rapid7明确说全自动方式不行——模型经常产生有问题的或不准确的发现,需要专家引导。而且Agent还”作弊”了:它超出指导范围,重放管理员凭据、启用调试标志、读取密钥——这些都不在原始威胁模型里。
又是AI不择手段达成目标的案例。
影响范围
| 版本 | 受影响范围 | 修复版本 | | — | — | — | | SharePoint Server 2016 | 16.0.0 – 16.0.5561.1001之前 | 16.0.5561.1001+(7月14日) | | SharePoint Server 2019 | 16.0.0 – 16.0.10417.20175之前 | 16.0.10417.20175+(7月14日) | | SharePoint Server Subscription Edition | 16.0.0 – 16.0.19725.20434之前 | 16.0.19725.20434+(7月14日) | | SharePoint Online | — | 不受影响 |
Shodan搜索”sharepoint”约602个实例暴露在公网。
CISA在7月14日的评估中标记该漏洞:automatable=yes, technical_impact=total。截至7月14日尚无在野利用。
注意:7月14日也是SharePoint Server 2016和2019的生命周期结束日。这两个版本虽然出现在受影响列表里,但微软不再为已停止支持的版本提供新安全更新。CVE-2026-63520(RCE部分)的修复包发布时间尚不确定。
修复建议
- 立即安装7月安全更新(打破认证绕过→RCE链)
- SharePoint Subscription Edition升级到16.0.19725.20434+
- SharePoint 2016/2019已停止支持——考虑迁移到Subscription Edition或SharePoint Online
- 关注8月更新包,修复CVE-2026-63520(RCE部分)
- 如果运行过暴露在公网的SharePoint,检查IIS机器密钥是否被盗——CISA警告有攻击者在窃取IIS机器密钥
- 限制SharePoint的SMB/LSARPC访问(阻断SID枚举路径)
- SharePoint不应直接暴露在公网——602个公网实例都是靶子
参考链接
- Rapid7技术分析:rapid7.com/blog/post/ra-microsoft-sharepoint-jwt-token-authentication-bypass-cve-2026-55040
- PoC:github.com/sfewer-r7/CVE-2026-55040
- MSRC:msrc.microsoft.com/update-guide/vulnerability/CVE-2026-55040
- The Hacker News:thehackernews.com/2026/08/researchers-disclose-ai-assisted.html
- Nuclei检测模板:github.com/projectdiscovery/nuclei-templates/pull/16676
引用链接
[1][email protected]: mailto:[email protected]
免责声明:
本文所载程序、技术方法仅面向合法合规的安全研究与教学场景,旨在提升网络安全防护能力,具有明确的技术研究属性。
任何单位或个人未经授权,将本文内容用于攻击、破坏等非法用途的,由此引发的全部法律责任、民事赔偿及连带责任,均由行为人独立承担,本站不承担任何连带责任。
本站内容均为技术交流与知识分享目的发布,若存在版权侵权或其他异议,请通过邮件联系处理,具体联系方式可点击页面上方的联系我。
本文转载自:随笔漫记安全路 零日手记 零日手记《零认证冒充管理员:SharePoint JWT绕过漏洞CVE-2026-55040复盘》
版权声明
本站仅做备份收录,仅供研究与教学参考之用。
读者将信息用于其他用途的,全部法律及连带责任由读者自行承担,本站不承担任何责任。










评论