文章总结: 16岁研究员发现微软Titan分析服务存在JWT验证不当漏洞,未验证签名致攻击者可冒充管理员并运行SQL查询,潜在影响17.3万亿行数据,实际未泄露客户PII。微软已修复并奖励5000美元。建议应用必须拒绝未签名令牌并验证签名。
综合评分: 80
文章分类: 漏洞分析,web安全
16岁研究员发现微软身份验证漏洞,导致17.3万亿条记录泄露
原创
ZM
ZM
暗镜
2026年9月30日 06:00
北京
在小说阅读器读本章
去阅读
在公众号小说中沉浸阅读
一位名叫 Faav 的 16 岁安全研究员发现了微软内部 Titan 分析服务中的一个重大身份验证漏洞。
该漏洞可能允许攻击者冒充管理员并运行未经授权的 SQL 查询。研究人员估计,存在漏洞的环境包含 17 个相互连接的分析数据库中存储的 17.3 万亿行数据。
然而,这个数字代表的是潜在可访问的数据量,并不代表实际访问的记录数量、泄露的数据量或涉及的独立个体数量。
该问题源于对JSON Web Tokens (JWT)的验证不当。据报道,Titan 检查了令牌声明,例如租户 ID、受众、应用程序 ID 和用户身份。
然而,它并未对 JWT 签名进行加密验证。因此,攻击者可以在保持签名无效或缺失的情况下修改身份声明,从而破坏旨在证明令牌来自可信身份提供商的关键安全控制措施。
研究人员利用人工智能辅助侦察技术识别出了 Titan,这是微软的一项内部分析服务,其网页界面受到“需要 VPN”页面的保护。然而,一个独立的 API 端点却可以公开访问。该端点暴露了一个 Swagger 文档,其中列出了多个路由,包括 /v2/Query,该路由接受原始 SQL 查询。
初始未经身份验证的请求返回HTTP 401 错误,表明 API 需要授权令牌。随后,Faav 使用来自外部 Entra 租户的令牌测试了该服务如何处理 JWT 声明。
研究人员通过修改令牌字段发现,即使原始签名保持不变,Titan 也能处理已更改的租户、受众和应用程序值。这强烈表明该服务在未验证其完整性的情况下就信任了声明。
研究人员使用数据库元数据而非批量数据提取,估算出总共存储了 17,333,335,124,315 行数据。该估算值可能包含历史记录、副本、重复条目和衍生数据集;不应将其解释为 17.3 万亿条客户记录或 17.3 万亿个受影响个体。
对元数据的有限访问暴露了大约 25,000 条帐户和电子邮件记录、17,990 条员工电子邮件记录、15,001 条员工组织记录、仪表板定义、数据集元数据和数据库配置。
研究人员还对 Bing 分析数据运行了两个单行查询,但表示没有访问任何客户个人身份信息 (PII),没有识别任何用户,也没有执行任何跨服务关联。
Faav 于 2026 年 9 月 5 日向微软安全响应中心报告了该问题,案件编号为 144051。微软于 9 月 9 日限制了对暴露的 API 端点的访问,并于 9 月 17 日向该研究人员奖励了 5000 美元。微软表示,此次协调披露有助于加强其服务并更好地保护客户。目前尚无公开证据表明该漏洞在修复前曾被恶意利用。该事件凸显了 JWT 的一个基本安全要求:应用程序必须拒绝未签名的令牌,强制执行显式签名算法,根据受信任的密钥验证令牌签名,然后才能处理与颁发者、受众、租户和用户身份相关的声明。
免责声明:
本文所载程序、技术方法仅面向合法合规的安全研究与教学场景,旨在提升网络安全防护能力,具有明确的技术研究属性。
任何单位或个人未经授权,将本文内容用于攻击、破坏等非法用途的,由此引发的全部法律责任、民事赔偿及连带责任,均由行为人独立承担,本站不承担任何连带责任。
本站内容均为技术交流与知识分享目的发布,若存在版权侵权或其他异议,请通过邮件联系处理,具体联系方式可点击页面上方的联系我。
本文转载自:暗镜 ZM
ZM《16岁研究员发现微软身份验证漏洞,导致17.3万亿条记录泄露》