---
title: "【Rust日报】2026-10-22 有张中间证书私钥是数字 4 - Angryecho"
description: "有张中间证书私钥是数字 4 https://emudhra.we-have-a-problem.com/ 是一份说明 eMudhra 中间 CA 证书私钥问题的页面，页首日期是 2026 年 10 月 20 日。"
canonical_url: "https://www.angryecho.com/c/rustcc/p/P2TBBesB39edZREvdtTay"
meta:
  "og:description": "有张中间证书私钥是数字 4 https://emudhra.we-have-a-problem.com/ 是一份说明 eMudhra 中间 CA 证书私钥问题的页面，页首日期是 2026 年 10 月 20 日。"
  "og:image": "https://www.angryecho.com/_og/d/c_Post%2Ctitle_~5ZCQ5qe9572R%2Cdescription_~5ZCQ5qe95LiA5LiL77yM5bCx5LiK5ZCQ5qe9572R44CC%2CpostId_P2TBBesB39edZREvdtTay%2Crevision_~MjAyNi0xMC0yNVQwMjo1Nzo1MC4xODM3Nzla%2Cp_Ii9jL3J1c3RjYy9wL1AyVEJCZXNCMzllZFpSRXZkdFRheSI%2Cs_hoWeHk5WP92joC70.png"
  "og:image:height": "630"
  "og:image:type": image/png
  "og:image:width": "1200"
  "og:title": "【Rust日报】2026-10-22 有张中间证书私钥是数字 4"
---

> Index of every page on this site: [llms.txt](https://www.angryecho.com/llms.txt)

# **【Rust日报】2026-10-22 有张中间证书私钥是数字 4**

## 有张中间证书私钥是数字 4

https://emudhra.we-have-a-problem.com/ 是一份说明 eMudhra 中间 CA 证书私钥问题的页面，页首日期是 2026 年 10 月 20 日。作者 noop\_noob 2026 年 10 月 21 日把它发到 r/rust，采集时 645 分、109 条评论。

页面写，8 张 eMudhra 中间 CA 证书的私钥已经泄露。这些证书链到 Mozilla、Microsoft、Apple 和 Chrome 根程序信任的根，也进入许多下游信任库。报告人 Wayne 在 2026 年 10 月 17 日用每张中间证书的私钥对消息 “We have a problem here - Wayne” 做了签名，并报告给各根程序团队。Mozilla Bug 2083449 写，Mozilla 于 2026 年 10 月 17 日 20:06 UTC 收到这份报告，报告同时通知了 eMudhra 以及 Apple、Microsoft 根程序，并附有 8 张证书的密钥控制证明。

页面写，这些中间证书的私钥生成方式有误，任何人都可以从证书里还原。证书创建于 2025 年 4 月。页面写，那段时间这些中间证书没有证书透明度日志记录，因此 Firefox、Chrome、Edge、Safari 这类强制执行 CT 的客户端当时无法被这种密钥用来攻击。页面同时写，不少浏览器以外的客户端不强制 CT，目前不知道攻击者是否已经用这个缺陷打过这些客户端。

Ars Technica 写，这些私钥的熵只有 3 到 8 位，列出的私钥整数是 4、56、66、115、155、156、230、237。文章写，正常的 NIST P-384 椭圆曲线私钥大约有 384 位熵。Go 加密维护者 Filippo Valsorda 对 Ars 说，这次清理会是一项大规模工作，比 Heartbleed 更大，长尾包括物联网设备、Docker 容器、遗忘的 Linux 机器，以及自带根证书副本的命令行工具。

页面写，Firefox 和 Chrome 从 2026 年 10 月 17 日起屏蔽这些证书，Apple 设备从 10 月 19 日起，Microsoft 平台从 10 月 20 日起。CA 也已经吊销这些中间证书。页面写，许多不读取吊销信息的客户端需要软件更新。

Rust 侧的修复版本写在同一页面和 RustSec 上。RUSTSEC-2026-0382 的包是 rustls-webpki，别名 CVE-2026-111943。公告写，受影响版本在信任锚允许时，可能接受包含这些已不受信任 emSign 中间公钥的证书路径；0.103.16 和 0.104.0-alpha.8 会拒绝这些公钥。页面列出的 webpki-roots / webpki-root-certs 修复版本是 1.0.10。rustup 1.29.2 只更新 rustls-webpki 和 webpki-root-certs，用来处理同一问题。已安装 rustup 时，可以执行 `rustup self update`；普通的 `rustup update` 结束时也会自动更新 rustup。r/rust 帖子写，reqwest 依赖这些 crate。同一事件的 rustup 发布帖不再单列。

评论里 AliceCode（431 分）问，他们把整个密钥做成数字 4 了吗。作者 noop\_noob（145 分）回复，不知道还能说什么。

原文链接： https://emudhra.we-have-a-problem.com/

## Linux 7.4 将合入约 1.7 万行 Rust

Phoronix 2026 年 10 月 20 日的这篇报道写的是准备进入 Linux 7.4 的 Rust 内核代码拉取请求。作者 Fcking\_Chuck 2026 年 10 月 21 日把它发到 r/rust，采集时 324 分、31 条评论。

报道写，Miguel Ojeda 发出了这次拉取请求。增量大约 1.7 万行，主要因为 vendored 的 Zerocopy 一次跳了 8 个版本，同时更新了内核里的其他 Rust crate。Zerocopy 提供 trait 和宏，用来在原始字节序列和结构化类型之间做安全转换。报道还写，这次启用不稳定特性 proc\_macro\_span，用来改善所有过程宏的诊断。内核 Rust crate 新增 mem 和 ratelimit 模块。pin-init 增加元组结构体支持，并允许安全创建自引用，诊断也有改进。拉取请求在 https://lore.kernel.org/lkml/20261018163459.80579-1-ojeda@kernel.org/ 。报道写，子系统自己的拉取请求里还会有更多 Rust 代码，包括 NVIDIA Nova 驱动改进和其他 Rust DRM 基础设施。

评论里 moltonel（69 分）写，从 v7.3 起目前看起来新增约 2.9 万行，合计约 22 万行，大约占内核代码的 0.5%。其中约 8.1 万行来自 vendored crate，包括 syn、zerocopy、proc-macro2。从 v6.2 起，平均每个版本增长约 17%。同帖里有人问 vendored crate 是什么。bleachisback（15 分）回复，这是把第三方依赖的源码放进自己的项目，不通过 Cargo.toml 正常依赖。

原文链接： https://www.phoronix.com/news/Linux-7.4-Rust

## Google 公开内部 Rust 风格指南

https://google.github.io/styleguide/rustguide.html 是 Google 内部使用 Rust 的风格指南。作者 Western-Obligation47 2026 年 10 月 21 日把讨论转到 r/rust，采集时 16 分、6 条评论。原帖在 r/learnrust，页面显示 44 分、20 条评论。

指南写，这里的 style 同时包括格式、API 设计和实现设计。文中列出的使用场景有 google3、Android、ChromeOS、Fuchsia 和 Chrome。适用范围一节写，Android、Chromium 和其他代码库参与了咨询，并打算开始采用；各代码库可以自己规定执行松紧。目标一节写，Large-Scale Changes 在 Google 很常见，风格一致是为了让这类跨代码库修改更容易做。

几条和常见开源仓库不同的规则：

- `rust_library` 的源文件放在同一个目录。指南写，不要用子目录组织同一个 crate 的文件。如果需要子目录，通常说明这个 crate 已经太大，应该拆开。用 Cargo 构建的 `//third_party` 代码除外，仍按常规 Cargo 目录。
- 不要使用 glob import。例外包括 inline module 的 `use super::*`、主要处理某个 enum 时在函数体里写 `use enum::*`、非叶子模块的 `pub use submodule::*`，以及为合并 C++ namespace 而做的 glob import。
- 避免 `Rc` 和 `Arc`。指南写，Rust 通常可以不用共享所有权智能指针表示对象图；从其他语言过来的工程师容易过早使用它们。
- Chromium 里不要使用 `async` / `.await`。Chromium 里也不要通过 Rust 标准库新建线程，优先使用 sequence。
- 库代码的 API 设计规则是强制的。应用代码里，这些规则是强建议，写法偏向简单直接，少做广泛复用。
- 不要仅仅为了组织代码而定义 trait。
- 指南写，要完全避免 panic，即使不变量被破坏也用 `Result` 报告。例外是面向开发者的二进制可以把非致命错误做成 panic，测试可以用 panic 做断言。
- 如果类型系统表达不了不变量、必须 panic，用 `expect` 写明原因。指南不使用 `unwrap`。
- 不要调用 `panic::catch_unwind`。

原文链接： https://google.github.io/styleguide/rustguide.html

## Tyr 在 Linux 7.3 启动 Mali 固件

Tyr 是 Arm Mali-G610 的 Linux 内核 GPU 驱动，用 Rust 移植已有的 C 驱动 Panthor，对用户空间保持透明。这颗 GPU 使用 Valhall v10，通过 Command Stream Frontend 和内核驱动通信。Collabora 的 Deb Brouwer 2026 年 10 月 21 日发文介绍上游进展。作者 mfilion 同日把它发到 r/rust，采集时 55 分、1 条评论。mfilion 写自己在 Collabora，Tyr 在那里开发。

文章写，Tyr 的初始 stub 在 2025 年 11 月合入 Linux v6.18，当时可以探测、绑定、上电、查询硬件信息并关机。v7.3 合入的提交让 Tyr 可以启动 GPU 的 MCU，从而和 GPU 通信。为此需要虚拟地址空间、映射方法，以及可靠配置 GPU 的 MMU。Tyr 依赖三组 Rust 抽象：DRM GEM 共享内存 helper、页表管理、GPUVM。

MCU 固件是二进制镜像，来自 Linux firmware 仓库或发行版包。Rust 已有 Linux firmware request API 的抽象，把固件载入系统内存这一步比较直接。GPU 还要求固件放在 DRM 的 GEM 缓冲区里。基础 GEM 抽象由 Asahi Lina 编写，不含后备内存的实现在 2025 年 7 月合入 Linux v6.16。Lyude Paul 和 Danilo Krummrich 在 2026 年 6 月把共享内存 helper 合入 Linux v7.1。页表抽象最初由 Asahi Lina 编写，Alice Ryhl 做了大幅重写，2026 年 4 月合入 Linux v7.0。

文章写，上游 Tyr 目前大约 3700 行，其中 6 行使用 unsafe，3 行和页表抽象有关。页表抽象的 `map_pages()` 是 unsafe，文档里的 Safety 要求写明调用方必须满足的条件。文章写，即使固件布局简单且固定，Tyr 仍使用完整的 GPUVM，用来维持这些不变量。文章写，这些不变量不能只靠假设。

原文链接： https://www.collabora.com/news-and-blog/blog/2026/10/21/upstreaming-tyr-rust-drm-and-the-linux-kernel/

---

From Rust中文社区 Mike

社区学习交流平台订阅：

- [Rustcc论坛: 支持rss](https://rustcc.cn/)
- [微信公众号：Rust语言中文社区](https://rustcc.cn/article?id=ed7c9379-d681-47cb-9532-0db97d883f62)

排序方式 :

### **成为第一条评论！**

Nobody's responded to this post yet. Add your thoughts and get the conversation going.

```json
{"@context":"https://schema.org","@graph":[{"@id":"https://www.angryecho.com/c/rustcc/p/P2TBBesB39edZREvdtTay#post","@type":"DiscussionForumPosting","commentCount":0,"dateModified":"2026-10-25T02:57:50.183Z","datePublished":"2026-10-22T01:07:00.000Z","description":"有张中间证书私钥是数字 4 https://emudhra.we-have-a-problem.com/ 是一份说明 eMudhra 中间 CA 证书私钥问题的页面，页首日期是 2026 年 10 月 20 日。","headline":"【Rust日报】2026-10-22 有张中间证书私钥是数字 4","isPartOf":"https://www.angryecho.com/c/rustcc","mainEntityOfPage":"https://www.angryecho.com/c/rustcc/p/P2TBBesB39edZREvdtTay","text":"有张中间证书私钥是数字 4\n\nhttps://emudhra.we-have-a-problem.com/ 是一份说明 eMudhra 中间 CA 证书私钥问题的页面，页首日期是 2026 年 10 月 20 日。作者 noop_noob 2026 年 10 月 21 日把它发到 r/rust，采集时 645 分、109 条评论。\n\n页面写，8 张 eMudhra 中间 CA 证书的私钥已经泄露。这些证书链到 Mozilla、Microsoft、Apple 和 Chrome 根程序信任的根，也进入许多下游信任库。报告人 Wayne 在 2026 年 10 月 17 日用每张中间证书的私钥对消息 “We have a problem here - Wayne” 做了签名，并报告给各根程序团队。Mozilla Bug 2083449 写，Mozilla 于 2026 年 10 月 17 日 20:06 UTC 收到这份报告，报告同时通知了 eMudhra 以及 Apple、Microsoft 根程序，并附有 8 张证书的密钥控制证明。\n\n页面写，这些中间证书的私钥生成方式有误，任何人都可以从证书里还原。证书创建于 2025 年 4 月。页面写，那段时间这些中间证书没有证书透明度日志记录，因此 Firefox、Chrome、Edge、Safari 这类强制执行 CT 的客户端当时无法被这种密钥用来攻击。页面同时写，不少浏览器以外的客户端不强制 CT，目前不知道攻击者是否已经用这个缺陷打过这些客户端。\n\nArs Technica 写，这些私钥的熵只有 3 到 8 位，列出的私钥整数是 4、56、66、115、155、156、230、237。文章写，正常的 NIST P-384 椭圆曲线私钥大约有 384 位熵。Go 加密维护者 Filippo Valsorda 对 Ars 说，这次清理会是一项大规模工作，比 Heartbleed 更大，长尾包括物联网设备、Docker 容器、遗忘的 Linux 机器，以及自带根证书副本的命令行工具。\n\n页面写，Firefox 和 Chrome 从 2026 年 10 月 17 日起屏蔽这些证书，Apple 设备从 10 月 19 日起，Microsoft 平台从 10 月 20 日起。CA 也已经吊销这些中间证书。页面写，许多不读取吊销信息的客户端需要软件更新。\n\nRust 侧的修复版本写在同一页面和 RustSec 上。RUSTSEC-2026-0382 的包是 rustls-webpki，别名 CVE-2026-111943。公告写，受影响版本在信任锚允许时，可能接受包含这些已不受信任 emSign 中间公钥的证书路径；0.103.16 和 0.104.0-alpha.8 会拒绝这些公钥。页面列出的 webpki-roots / webpki-root-certs 修复版本是 1.0.10。rustup 1.29.2 只更新 rustls-webpki 和 webpki-root-certs，用来处理同一问题。已安装 rustup 时，可以执行 rustup self update；普通的 rustup update 结束时也会自动更新 rustup。r/rust 帖子写，reqwest 依赖这些 crate。同一事件的 rustup 发布帖不再单列。\n\n评论里 AliceCode（431 分）问，他们把整个密钥做成数字 4 了吗。作者 noop_noob（145 分）回复，不知道还能说什么。\n\n原文链接：https://emudhra.we-have-a-problem.com/\n\nLinux 7.4 将合入约 1.7 万行 Rust\n\nPhoronix 2026 年 10 月 20 日的这篇报道写的是准备进入 Linux 7.4 的 Rust 内核代码拉取请求。作者 Fcking_Chuck 2026 年 10 月 21 日把它发到 r/rust，采集时 324 分、31 条评论。\n\n报道写，Miguel Ojeda 发出了这次拉取请求。增量大约 1.7 万行，主要因为 vendored 的 Zerocopy 一次跳了 8 个版本，同时更新了内核里的其他 Rust crate。Zerocopy 提供 trait 和宏，用来在原始字节序列和结构化类型之间做安全转换。报道还写，这次启用不稳定特性 proc_macro_span，用来改善所有过程宏的诊断。内核 Rust crate 新增 mem 和 ratelimit 模块。pin-init 增加元组结构体支持，并允许安全创建自引用，诊断也有改进。拉取请求在 https://lore.kernel.org/lkml/20261018163459.80579-1-ojeda@kernel.org/ 。报道写，子系统自己的拉取请求里还会有更多 Rust 代码，包括 NVIDIA Nova 驱动改进和其他 Rust DRM 基础设施。\n\n评论里 moltonel（69 分）写，从 v7.3 起目前看起来新增约 2.9 万行，合计约 22 万行，大约占内核代码的 0.5%。其中约 8.1 万行来自 vendored crate，包括 syn、zerocopy、proc-macro2。从 v6.2 起，平均每个版本增长约 17%。同帖里有人问 vendored crate 是什么。bleachisback（15 分）回复，这是把第三方依赖的源码放进自己的项目，不通过 Cargo.toml 正常依赖。\n\n原文链接：https://www.phoronix.com/news/Linux-7.4-Rust\n\nGoogle 公开内部 Rust 风格指南\n\nhttps://google.github.io/styleguide/rustguide.html 是 Google 内部使用 Rust 的风格指南。作者 Western-Obligation47 2026 年 10 月 21 日把讨论转到 r/rust，采集时 16 分、6 条评论。原帖在 r/learnrust，页面显示 44 分、20 条评论。\n\n指南写，这里的 style 同时包括格式、API 设计和实现设计。文中列出的使用场景有 google3、Android、ChromeOS、Fuchsia 和 Chrome。适用范围一节写，Android、Chromium 和其他代码库参与了咨询，并打算开始采用；各代码库可以自己规定执行松紧。目标一节写，Large-Scale Changes 在 Google 很常见，风格一致是为了让这类跨代码库修改更容易做。\n\n几条和常见开源仓库不同的规则：\n\n\n\n\n\nrust_library 的源文件放在同一个目录。指南写，不要用子目录组织同一个 crate 的文件。如果需要子目录，通常说明这个 crate 已经太大，应该拆开。用 Cargo 构建的 //third_party 代码除外，仍按常规 Cargo 目录。\n\n\n\n不要使用 glob import。例外包括 inline module 的 use super::*、主要处理某个 enum 时在函数体里写 use enum::*、非叶子模块的 pub use submodule::*，以及为合并 C++ namespace 而做的 glob import。\n\n\n\n避免 Rc 和 Arc。指南写，Rust 通常可以不用共享所有权智能指针表示对象图；从其他语言过来的工程师容易过早使用它们。\n\n\n\nChromium 里不要使用 async / .await。Chromium 里也不要通过 Rust 标准库新建线程，优先使用 sequence。\n\n\n\n库代码的 API 设计规则是强制的。应用代码里，这些规则是强建议，写法偏向简单直接，少做广泛复用。\n\n\n\n不要仅仅为了组织代码而定义 trait。\n\n\n\n指南写，要完全避免 panic，即使不变量被破坏也用 Result 报告。例外是面向开发者的二进制可以把非致命错误做成 panic，测试可以用 panic 做断言。\n\n\n\n如果类型系统表达不了不变量、必须 panic，用 expect 写明原因。指南不使用 unwrap。\n\n\n\n不要调用 panic::catch_unwind。\n\n原文链接：https://google.github.io/styleguide/rustguide.html\n\nTyr 在 Linux 7.3 启动 Mali 固件\n\nTyr 是 Arm Mali-G610 的 Linux 内核 GPU 驱动，用 Rust 移植已有的 C 驱动 Panthor，对用户空间保持透明。这颗 GPU 使用 Valhall v10，通过 Command Stream Frontend 和内核驱动通信。Collabora 的 Deb Brouwer 2026 年 10 月 21 日发文介绍上游进展。作者 mfilion 同日把它发到 r/rust，采集时 55 分、1 条评论。mfilion 写自己在 Collabora，Tyr 在那里开发。\n\n文章写，Tyr 的初始 stub 在 2025 年 11 月合入 Linux v6.18，当时可以探测、绑定、上电、查询硬件信息并关机。v7.3 合入的提交让 Tyr 可以启动 GPU 的 MCU，从而和 GPU 通信。为此需要虚拟地址空间、映射方法，以及可靠配置 GPU 的 MMU。Tyr 依赖三组 Rust 抽象：DRM GEM 共享内存 helper、页表管理、GPUVM。\n\nMCU 固件是二进制镜像，来自 Linux firmware 仓库或发行版包。Rust 已有 Linux firmware request API 的抽象，把固件载入系统内存这一步比较直接。GPU 还要求固件放在 DRM 的 GEM 缓冲区里。基础 GEM 抽象由 Asahi Lina 编写，不含后备内存的实现在 2025 年 7 月合入 Linux v6.16。Lyude Paul 和 Danilo Krummrich 在 2026 年 6 月把共享内存 helper 合入 Linux v7.1。页表抽象最初由 Asahi Lina 编写，Alice Ryhl 做了大幅重写，2026 年 4 月合入 Linux v7.0。\n\n文章写，上游 Tyr 目前大约 3700 行，其中 6 行使用 unsafe，3 行和页表抽象有关。页表抽象的 map_pages() 是 unsafe，文档里的 Safety 要求写明调用方必须满足的条件。文章写，即使固件布局简单且固定，Tyr 仍使用完整的 GPUVM，用来维持这些不变量。文章写，这些不变量不能只靠假设。\n\n原文链接：https://www.collabora.com/news-and-blog/blog/2026/10/21/upstreaming-tyr-rust-drm-and-the-linux-kernel/\n\n\n\nFrom Rust中文社区 Mike\n\n社区学习交流平台订阅：\n\n\n\n\n\nRustcc论坛: 支持rss\n\n\n\n微信公众号：Rust语言中文社区","url":"https://www.angryecho.com/c/rustcc/p/P2TBBesB39edZREvdtTay","author":{"@type":"Person","name":"Mike Tang","url":"https://www.angryecho.com/u/R4C0f2182c9-dfd5-4d6"},"interactionStatistic":[{"@type":"InteractionCounter","interactionType":"https://schema.org/LikeAction","userInteractionCount":0},{"@type":"InteractionCounter","interactionType":"https://schema.org/DislikeAction","userInteractionCount":0},{"@type":"InteractionCounter","interactionType":"https://schema.org/ViewAction","userInteractionCount":1},{"@type":"InteractionCounter","interactionType":"https://schema.org/ShareAction","userInteractionCount":0}]}]}
```

## Sitemap

See the full [sitemap](https://www.angryecho.com/sitemap.md) for all pages.
