微软技术日报 2026-10-24:CA 私钥是 4,Windows 封了中间证书未动父根

每天早上 8 点,看一遍微软技术圈过去 24 小时发生了什么。

今日速览

  • 八张 eMudhra 中间证书的私钥数值小于 256,其中一张的私钥就是 4。微软 10 月 20 日把它们加进不可信证书列表,父根 emSign ECC Root CA G3 仍在 Windows 的受信任根里。
  • 10 月 23 日五个 Windows 11 预览构建一起发出。快速设置里多了手机控制与系统内测速,Unicode 17.0 的文本整形进了 26H1。
  • 两条 10.0 的云服务 CVE 在 10 月 22 日发布,MSRC 写明已完全缓解、用户无需动作,记录里没有暴露窗口,也没有可核对的修复版本。
  • 微软研究院证明 1995 年的 KLS 猜想,过程是约 100 条并行研究轨迹加人工剪枝。同样 token 预算的无引导尝试没有做出来。
  • 速报:Azure Functions 在推时区、Node.js、Python 与证书信任四类补丁,Visual Studio 2026 的 Copilot 九月更新可以读 PR,研究院放出给图表加交互的中间语言。

一、一张 CA 私钥是 4,八张中间证书被吊销,Windows 封的是中间层

10 月 17 日,一位署名 Wayne 的研究者给 Chrome 根证书计划发了一封报告。他没有写长篇分析,只做了一件事,用八张中间证书各自的私钥签一句「We have a problem here - Wayne」,把签名发过去。能签出来,就证明私钥在他手上。这八把私钥对应的椭圆曲线是 NIST P-384,正常应该是 384 位的随机数,实际取值分别是 4、56、66、115、155、156、230、237,全部小于 256。也就是说,从公开证书里的公钥出发,最多试 256 次就能把私钥还原。

问题出在 2025 年 4 月 30 日的一次密钥生成仪式。eMudhra 用符合 FIPS 140-2 Level 3 的硬件安全模块为 24 张下级 CA 生成密钥,过程中为了测试封装与解封装做了偏离常规的操作,脚本缺陷在正常密钥之外多生成了一组弱密钥。两批密钥的标签很像,工作人员拿错了,把弱密钥做成证书签名请求交给根证书签发。其中六张用于 TLS,两张用于代码签名。

后面六天的节奏可以按小时看。10 月 17 日当天,Chrome 通过 CRLSet 按公钥封禁,Firefox 通过 OneCRL 封禁。10 月 18 日 eMudhra 吊销全部八张。10 月 19 日 Apple 平台与 Android 通过 Google Play 服务下发阻断。10 月 20 日微软把它们加入不可信证书列表,Mozilla 同时移除了父根 emSign ECC Root CA G3 的信任。10 月 21 日 Go 语言侧拿到 CVE 编号 2026-111943,用于 crypto/x509 的内置拒绝列表。10 月 22 日 eMudhra 宣布自愿退出全球 SSL/TLS 证书业务,并称约有 3 万张证书需要迁移,其中约 97% 是走 ACME 自动签发的。

微软这一侧的动作集中在 10 月 23 日。Azure App Service 团队连发三篇公告,把证书信任更新、时区规则更新、Node.js 紧急运行时更新拆开讲,并明确 Windows 与 Linux 走两条不同的补丁通道。Windows 上的应用(Consumption、App Service 计划、Elastic Premium)跟随 App Service 的 Windows 补丁流程,Linux 上的四种托管计划由 Azure Functions 团队单独推,Static Web Apps 的托管函数又是另一条线。三篇公告都写着一句相同的话,滚动更新正在进行,尚未完成,看到公告不等于你的实例已经拿到修复。

这里有一个容易被跳过的地方。Windows 的不可信证书列表挡住的是八张中间证书,父根 emSign ECC Root CA G3 截至 10 月 22 日的公开核查仍在受信任根里,Chrome 计划在 10 月 27 日把它从根库移除。微软没有为这次事件单独发 KB 或安全公告,防护依赖证书列表的自动同步。要确认机器在收这份列表,可以在本机跑 certutil -verifyctl Disallowed 看最近同步时间,再检查组策略或注册表里的 EnableDisallowedCertAutoUpdate 有没有被关掉。内网机器连不上 Windows Update 的,可以用 Certutil -syncWithWU 把列表落到文件共享,再让客户端指过去。

真正麻烦的是自带信任库的软件,它们不看操作系统的脸色。pip 会把内置的 certifi 和系统证书库一起加载,且没有官方开关可以关掉,所以 26.2.2 之前的 pip 在打完补丁的系统上照样信任这八张证书。对应的版本门槛是 certifi 2026.10.19、uv 0.13.4、Go 1.26.10 与 1.27.3(Go 加的是内置拒绝列表,装新编译器也不会改变已经编好的二进制)、Node.js 22.23.4 / 24.22.1 / 26.12.1、Firefox 158.0.1 与 ESR 153.5.1、rustls-webpki 0.103.16。容器镜像要按新基础镜像重建,Java 的 keystore 与移动端打包进去的证书要单独查。

目前没有确认的滥用证据,Cloudflare 说没有在自己的服务上看到活跃利用。浏览器这一层其实还有一个结构性保险,这八张中间证书在 18 个月里一条 Certificate Transparency 日志都没进,强制 CT 的客户端本来就不会接受从无日志中间证书链下来的叶子证书。CT 挡不住的是 curl、git、包管理器这类不做 CT 校验、也不查吊销状态的工具,它们只认自己那份证书包。

二、10 月 23 日五个构建:快速设置开始管手机,也自己测网速

Windows Insider 在 10 月 23 日一次发了五个构建,Beta 与 Experimental 两条线各有 25H2 与 26H1 两支,外加一个 Future Platforms 构建。版本号依次是 Beta 26220.9757、Beta 26H1 28020.3292、Experimental 26340.9767、Experimental 26H1 28120.3302、Experimental Future Platforms 29695.1001。官方把新功能集中写在 Experimental 26340.9767 上,其余四个以修复为主。

26340.9767 里最实用的一条在快速设置。连上受支持的 Android 手机之后,面板里会多出「移动设备」一栏,可以开关手机的免打扰、切换铃声模式、让手机响一声方便找。iPhone 目前只到状态显示这一层,官方写的是「更有限的状态型体验」,能力还随手机平台与设备配置变化。同一个面板还塞进了系统级测速,从新的「Speed test」开关、Wi-Fi 或蜂窝网络的浮出菜单、或者右键托盘网络图标选「Test internet speed」都能起,跑的时候面板里直接显示进度与下载、上传、时延。这项能力之前以浏览器跳转的形式出现过,这次是把结果收回系统内。

同一构建里还有几处小改动值得记。放大镜的 Win + 加号 快捷键多了一个开关,位置在设置 > 辅助功能 > 放大镜,默认保持开启,误触或者和别的应用抢键的可以关掉。讲述人的数学朗读新增希腊语、匈牙利语、印尼语、挪威语(博克马尔)、波兰语、俄语、瑞典语、越南语八种语言。资源管理器在打开网络盘这类慢位置时补了加载进度。设置里的 Microsoft 365 订阅多了一个内联入口,关掉定期计费的订阅者可以直接在设置主页、账户页或开始菜单里重新开启,不用跳网页。修复项里有一条影响面不小,上一版登录后 explorer.exe 不加载、任务栏跟着不出来,这次修了;另一条是登录界面误报密码错误。

26H1 那两支的主角是 Unicode 17.0 的文本整形支持,新增 4,803 个字符,包含 Beria Erfe、Sidetic、Tai Yo、Tolong Siki 四种新编码的文字。Beta 26220.9757 带的是重新设计过的资源管理器右键菜单,减少顶层条目、把常用动作前置、新增一个能控制菜单内容的设置页,首次使用会有一个教学提示。右键菜单的定制开关在 10 月 16 日那批 Release Preview 构建(26200.9807 / 26300.9807)里已经露过面,这次是把重新设计的版本推到 Beta。

Future Platforms 29695.1001 是原 Canary 通道的构建,改动以稳定性和无障碍为主。放大镜工具栏新增一个对比度主题开关,效果是把界面换成所选对比度主题,照片、图表、视频保持原色,这一点和颜色反转不同,也不是替代关系。修复清单里三条比较具体,前两次飞行后部分人断网、最新构建里 ESENT 事件异常刷屏、用 VMware 的人频繁遇到 PFN_SHARE_COUNT 绿屏,另外修了 Hyper-V 里 Plan9 共享文件夹在 Linux 虚拟机中看不到的问题。

需要提醒的已知问题只有一个,而且跨了三个构建。在 Copilot+ PC 上做全新安装之后,Recall 可能缺失或者打不开,官方说正在修。这个功能此前因为截图留存的隐私争议改过一轮机制,现在连可用性都还不稳,做镜像和批量部署的团队最好在验收清单里加一条。

三、两条 10.0 的云服务 CVE 写着「无需动作」,能查的只剩日志

10 月 22 日,MSRC 发布的一批记录里有两条 CVSS 3.1 都是 10.0。CVE-2026-83938 指向 Azure Kubernetes Configuration Service,弱点是 CWE-306 关键功能缺少认证;CVE-2026-97785 指向 AAD App Proxy,弱点是 CWE-287 认证不当。两条的攻击向量都是网络可达、低复杂度、无需权限、无需交互,且 Scope 变更,区别在可用性一栏,前者给到 A:H,后者是 A:N,所以同样读作 10.0,描述的不是同一种损害。同一批里还有第三个 10.0,CVE-2026-110063 落在 VM Inspector for Azure Virtual Machines,弱点是 CWE-59 链接跟随;另外 CVE-2026-105014 在 Azure Pipelines,CWE-77 命令注入,9.1。

四条记录的回答方式一致,微软说漏洞已被完全缓解,用户无需采取任何动作,并把发布 CVE 的目的写成透明度。这也是微软近两年在推的一件事,把云服务侧的缺陷也编上号,让客户能核对自己租户碰到了什么。缺的东西也很整齐,记录中没有受影响版本、没有修复版本、没有暴露窗口、没有入侵指标,也没有客户侧缓解措施。第三方漏洞库照例建议「升级到修复版本」,可托管服务里没有可以升级的东西,这句话落不了地。

所以这批记录的正确用法不是排进补丁队列,而是当成一次自查的触发器。「无需动作」说的是没有可安装的东西,不是说不必看。能核对的证据只有审计日志,Azure Activity Log 里查 Azure Kubernetes Configuration Service 相关的配置与扩展变更、陌生主体、以及使用该服务的集群上的漂移;Entra 的登录日志与 App Proxy 日志里查新增的连接器注册、应用分配变化、对已发布内部应用的异常访问;顺带确认这些应用都在 Conditional Access 覆盖范围内,并趁日志还在保留期内导出到自己的存储。

优先级上有一个反直觉的地方。两个 10.0 都没有补丁可打,也都标注无已知利用与公开利用代码,而 9.1 的 Azure Pipelines 命令注入反而是更可能需要你动手的那条。把云服务的记录和软件补丁混在一张表里统计,会让修复率好看,也会把真正能降风险的动作挤到后面。分开建两个登记表更接近实际操作。

四、31 年前的 KLS 猜想被证明,方法里有 100 条并行轨迹

微软研究院在 10 月 21 日的博客里公布了 Kannan-Lovász-Simonovits 猜想的证明。这个猜想 1995 年提出,问的是一件听起来很朴素的事,放在对数凹分布上,最好的平面切是不是总能接近任意形状的最好切,误差不超过一个与维数无关的常数。它重要是因为这类切的几何决定了随机游走探索分布的速度,高维采样的一大半理论都架在它上面。

论文标题是《An O(1) Bound for the KLS Constant》,编号 arXiv:2610.01447,正文 140 页,10 月 1 日首版,10 月 4 日修订。作者是微软研究院机器学习与优化组的 Xinzhi Zhang 和合作者 Zhao Song。此前的纪录是 2026 年 7 月 Brayden Letwin 给出的 O(log^(1/4) n),这个界随维数增长,只是长得慢。

证明路线分三步走。第一步是把 7 月的结果做紧,这一步用了大约 100 条并行研究轨迹,很多方向涉及高阶张量的长计算,智能体并行跑候选路径,研究员看中间结果、砍掉没戏的方向、把最有希望的那条交给下一轮,最后落成一个新判据。第二步是发现这个判据可以递归使用,每次得到的更紧的界能喂回同一套论证,10 月 1 日那一版把维数依赖压到了迭代对数,仍在增长,所以还不能算证完。第三步是整体重复这套递归,而不是只用一次,思路来自两人早前做线性规划快速算法的工作,并证明每一级引入的小误差衰减得足够快、总和被一个普适常数卡住,维数依赖到这一步才彻底消失。

有一组对照数据值得单独记。研究团队另开一条线,用几个前沿模型做无引导的端到端尝试,总 token 预算与主流程大致相当,结果没有做出来。博客的结论写得克制,成功同时依赖模型能力与人的数学判断,方向、选路、组装论证、最终验证都是人做的,AI 参与的是探索候选、执行推导、准备稿件、做内部校验。

数学结论本身有外部独立确认。同一批论文上线的当天,Bizeul、Klartag、Lehec 三人贴出一份独立证明,摘要里把微软论文的判据称为「证明中的关键一步」;同一天还有第三份走相近思路的证明;随后有人放出 Lean 4 形式化 KLS500,用 Apache 2.0 许可,把 Microsoft 论文的关键判据与额外研究结合,证到 Poincaré 常数不超过 500。作者自己也把证明做了精简,并在 Lean 里验过,计划终审后放出。需要分开看的是两层证据,数学部分有多条独立路径互证,「AI 在其中起了多大作用」这一层目前只有作者的自述。

五、速报

  • Azure Functions 在推四类补丁。 10 月 23 日更新的公告把时区规则、Node.js 安全版本对应的运行时修复、Python 运行时与依赖修复、eMudhra 证书信任四件事打包说明。Windows 上的函数应用跟随 App Service 的 Windows 补丁流程,Linux 的四个托管计划由 Functions 团队单独推,Static Web Apps 的托管函数另有一条线,三条都在进行中。公告反复强调两件事,平台补丁不改你应用里已经部署的依赖和虚拟环境,也不改自定义镜像里的证书包与时区数据,这两部分要自己重建再部署。
  • Visual Studio 2026 的 Copilot 九月更新上线。 10 月 22 日发布的这批改动有三样。Git 代理可以在 Copilot 聊天里挂一个 PR 当上下文,返回摘要并给出评论与改动文件的可跳转链接,前提是接上 GitHub 或 Azure DevOps 的 MCP 服务器; Bring Your Own Model 在 Community、Professional、Enterprise 三个版本默认开启,但必须走新的 Agent (Preview),旧的 Ask 与 Agent 模式不再支持,之前配过的 Ollama 模型要重新加一遍;NuGet Audit 警告在错误列表里多了一个修复动作,点了会用 NuGet MCP 服务器去改包,需要登录 Copilot 并开启该服务器,全部订阅档位包括免费版都能用。
  • 研究院放出 Flint-interactive。 这是 Flint 图表系统之上的一层语言,让人和智能体给图表加点击、筛选、缩放、高亮与联动视图。编译器把原始输入事件转成语义事件,绑定到具体的图表元素与数据上,再映射成更新算子,智能体不必写命中测试和渲染代码。交互规格可以和数据规格一起通过 Flint-MCP 与 MCP Apps 生成,文档、图库与一份教写交互的技能说明放在 microsoft.github.io/flint-chart。

本日报基于公开报道整理,仅供参考。

相关推荐
奶酪博士1 小时前
【1024快乐】用HTML写一个本地版心愿墙页面
html·1024程序员节
“AI国潮设计-小江”1 小时前
AIGC实战:Python+SDXL批量生成英歌舞IP立牌,解锁猪猪蛋糕“反差萌”流量密码(附完整API源码)
开发语言·人工智能·python·prompt·aigc
合尘猫1 小时前
AI客服国标落地一个月:从工程角度看,真正要改的是三处数据结构
数据库·人工智能·架构
wshzd1 小时前
LLM之Agent(117)|DeepSeek-Harness(二十四)Host/Client 分离与 Typert RPC 生成
1024程序员节
长不大的杨瑞杰1 小时前
OpenCode v2 CI 与自动化实战:无交互运行、权限收口与制品闭环
运维·人工智能·ci/cd·自动化·软件工程·1024程序员节
limit00751 小时前
三维场景五段链路的资源与依赖排查
1024程序员节
骑着蜗牛撵大象3271 小时前
N1 小盒子撑起 AI 接口中转层:New-API 接管本地 Ollama,用 Token 分发模型能力
docker·llama·1024程序员节·api网关·飞牛nas·new-api
java1234_小锋1 小时前
【技术专题】CSS3 网页技术 - CSS3 简介 & CSS 语法:选择器、属性、值、声明块
css3·1024程序员节
前端 贾公子1 小时前
LangGraph == 顺序结构
1024程序员节