Skip to content

Rust 1.100 前瞻,Rust 1.99.1 发布,Rustls 修复 4 项安全漏洞 | 近期 Rust 全球要闻(2026年10月22日)

发表于:2026-10-22
Rust 新闻

摘要

Rust 1.99.1 补丁版本上线,修复链接、ABI 相关回归缺陷;备受期待的 Rust 1.100 将于 11 月 12 日稳定发布,将引入 Cargo 依赖冷却期、never type 稳定化等重磅变更;Rustls 0.23.46 发布,修复 4 项安全漏洞;借用检查器健全性漏洞披露,隐患可追溯至 2017 年;Red Hat 与 Ferrous Systems 合作将安全认证 Rust 工具链引入车载操作系统……

一、Rust 语言与核心项目进展 ​

1. Rust 1.100 前瞻:Cargo 将引入依赖冷却机制 ​

Rust 1.100 计划于2026 年 11 月 12 日正式稳定发布。该版本包含多项重要变更,核心亮点为 never type 稳定化、Cargo 目标目录布局调整。建议开发者提前切换 beta 工具链,开展代码兼容性测试。

参考:https://socket.dev/blog/rust-cargo-cooldowns

2. Rust 1.99.1 发布,修复三项关键回归问题 ​

Rust 团队推出 1.99.1 点版本,解决上一版本引入的三类回归缺陷:

  • 部分目标存在 wcslen 缺失链接错误,新增 compiler-builtins 回退实现,UEFI 平台受该问题影响最显著;
  • 修复 x86_64 平台 FFI 返回 bool 的编译错误:此前返回寄存器 1–7 位状态未定义,调用方可能获取非 0/1 的非法值,现已按 ABI 规范增加零扩展标记;
  • 解决 macOS 平台 rust-lld 无法加载 libLLVM 的故障,通过 rpath 指向 libLLVM.dylib 所在目录。

参考:https://blog.rust-lang.org/2026/10/15/Rust-1.99.1

3. Rustls 0.23.46 发布,修复 4 项安全漏洞 ​

TLS 核心库 Rustls 发布 0.23.46,共修复 13 个 bug,其中 4 个属于高危安全问题:

  • Brotli 证书解压无上限内存分配,认证阶段最多可消耗 1GB 内存;
  • 调试日志可能泄露 TLS 主密钥与 PSK 恢复密钥;
  • 未认证 ServerHello 可强制降级至 X25519 密钥交换;
  • 服务器拒绝 Encrypted Client Hello 后,客户端应用数据仍可能泄露。

OpenAI 通过大规模模糊测试发现大部分缺陷,包含 2 项安全修复,印证模糊测试对 Rust 核心基础设施 crate 的价值。

参考:https://www.phoronix.com/news/Rustls-0.23.46-Released

4.借用检查器健全性漏洞披露,隐患可追溯至 2017 年 ​

Rust 社区披露编号 #164250 的借用检查器健全性漏洞,问题最早可追溯至 2017 年(部分溯源指向 2015 年)。该漏洞无需 unsafe 代码,恶意 Drop 实现可构造安全 Rust 代码,令栈引用突破 'static 生命周期约束,触发释放后使用(use-after-free)。根源是编译器未校验 Drop 实现是否遵守继承的生命周期约束。 团队将该漏洞定级为 P-high(非最高优先级 P-critical),因为漏洞利用需要精心构造恶意 Drop 代码。修复 PR #164277 正在推进。

参考:https://github.com/rust-lang/rust/pull/164277

5. Creusot 0.14.0 更新:支持偏序与 Snapshot 验证条件 ​

Rust 形式化验证工具 Creusot 发布 0.14.0 版本。版本核心改动:将 PartialOrd 规范从全序放宽至偏序,新增PartialOrdLogic,以布尔比较函数lt_log为基础,满足非自反、传递特性,全序作为附加三歧性定律可选启用;现有证明不受本次变更影响,自动证明器可自适应。 新版本支持 snapshot 逻辑表达式生成验证条件,逻辑函数可作为引理函数调用,按实参特化,规避全称量词实例化难题。rust-analyzer 集成支持 Pearlite 规范跳转定义,优化 token span 定位精度。

参考:https://devlog.creusot.rs/v0-14-0

6.Asterinas 0.19.0 发布,支持 X.org 与 AArch64 架构 ​

Rust 编写操作系统 Asterinas 发布 0.19.0 版本,新增 X.org 服务器支持,依托 DRM 子系统与 Mesa LLVMpipe 软件渲染(暂不支持 GPU 硬件加速);同时新增 AArch64 架构初步支持。

参考:https://asterinas.github.io/2026/10/13/announcing-asterinas-0.19.0.html

二、Rust 产业动态 ​

1. Rust 基金会任命新任项目董事,Meta 代表加入董事会 ​

Rust 基金会宣布 Jana Dönszelmann、Nia Deckers 当选项目董事,Jess Wass 作为 Meta 代表加入董事会:

  • Jana Dönszelmann:Rust 编译器团队成员,Hexcat 编译器工程师,曾在代尔夫特理工大学讲授 Rust;
  • Nia Deckers:Hexcat 全职 Rust 编译器工程师,库团队负责人,自定义分配器进入语言的核心推动者,重视维护社区开放包容文化;
  • Jess Wass:Meta Rust Foundations 团队软件工程师。

新董事与 David Wood、Jack Huey、Niko Matsakis 共同组成项目董事团队。

参考:https://rustfoundation.org/media/rust-foundation-board-updates-october-2026

2. Red Hat × Ferrous Systems:车载操作系统引入安全认证 Rust 工具链 ​

Red Hat 与 Ferrous Systems 达成战略合作,将具备安全认证的 Ferrocene Rust 工具链集成至 Red Hat 车载操作系统。Ferrocene 拥有 ISO 26262 最高 ASIL D 认证工具链,同时提供 ASIL B 工作负载认证核心库子集。 合作面向汽车厂商与一级供应商,支持安全关键场景使用 Rust,兼容现有 C/C++ 混合架构,实现渐进式迁移。Ferrocene 26.05 已支持该车载系统 aarch64 目标,完整可用版本预计 2027 年下半年上线。

参考:https://www.electronicsworld.co.uk/red-hat-and-ferrous-systems-are-collaborating-to-enable-safety-qualified-rust-development-on-red-hat-in-vehicle-operating-system/42765

3.Rust 基础设施团队:2026 Q3 成果复盘 & Q4 规划 ​

Q3 成果 ​

  • 安全审计:启用 Datadog Cloud SIEM 审计日志,覆盖 GitHub Enterprise、AWS CloudTrail、Fastly 等多平台。
  • 防护加固:crates.io、docs.rs 部署 Fastly 下一代 WAF 与 DDoS 防护,成功抵御 crates.io 攻击,降低 docs.rs 负载。
  • CDN 优化:移除下载链路正则匹配,Fastly 节点计算耗时下降 10%;补齐 HEAD 响应 Content-Length,修复 Buck2 兼容问题;crates.io 静态资源迁移至边缘节点;docs.rs CDN 日志接入 Datadog,保留 0.4% 流量回退至 CloudFront。
  • 工程治理:启用 Renovate、Dependabot 告警;crabwatch 审计 GitHub Actions,默认开启 23 项 Zizmor 安全审计;升级 Playground 开发环境,磁盘配额提升至 200GB;新增 ARM rustc-perf、s390x/armv7 CI 运行器;25 个仓库默认分支重命名为 main;7 个 crate 开启可信发布。
  • 配套优化:bors 支持基于 CI 结果自动执行门控审批;设立 trusted-contributors 可信贡献者标签,非官方成员可独立触发 try 构建与性能测试;riscv64gc-unknown-linux-musl 升级为 Tier 2 带宿主工具支持;值班告警从 PagerDuty 迁移至 Datadog On-Call;完成团队负责人轮换。

Q4 计划 ​

落地 SAML SSO、邮件列表迁移 Google Groups、日志统一整合、crater 代理收紧网络规则;推进集中安全环境部署,评估 Terraform 与 Terragrunt 是否继续并用;下线自建 Prometheus/Alertmanager/Grafana 监控实例。

参考:https://blog.rust-lang.org/inside-rust/2026/10/12/infrastructure-team-q3-recap-and-q4-plan

三、深度技术文章 ​

1. Signal 与 WhatsApp 如何用 Rust 服务数十亿安卓与 iOS 设备 ​

文章剖析 Signal、WhatsApp 两套 Rust 移动端架构:

  • Signal:构建跨平台 Rust 核心承载业务逻辑,编译为 C 库,通过 FFI 桥接各端(未选用 UniFFI),推测原因包括复用现有 C 封装代码、对 Tokio 运行时做 FFI 边界特殊处理,Proton 等项目采用同类方案。
  • WhatsApp:保留平台原生业务代码,仅在安全、性能关键模块引入 Rust 库(例如端到端加密媒体校验)。

落地 Rust 的核心诉求:跨平台代码复用、保证多端加密逻辑一致性、替换历史上易被远程攻击的 C 共享库。 WhatsApp 采用差分模糊测试 + 大量单元 / 集成测试,保障 Rust 与 C++ 两套实现兼容;Rust 与 C++ 并行开发,保留回滚能力;最终以9 万行 Rust(含测试)替换 16 万行 C++(不含测试),同时优化内存占用与性能。

参考:https://kerkour.com/rust-ios-android-signal-whatsapp

2. Linux 内核 Rust Ownable trait 补丁迭代至第 22 版 ​

在 Kangrejos 2026 大会上,Andreas Hindborg 介绍面向 Linux 内核 Rust 代码的 Ownable trait 补丁系列,目前迭代至第 22 版。 内核块层 bio 请求由 C 代码从内存池分配,使用完成后归还复用,现有 KBox、ARef 模型均不匹配场景。新方案引入 Owned 智能指针:持有对象唯一访问权,生命周期结束调用release()而非释放内存,仅支持实现 Ownable 的类型。

  • 核心难点:Owned 与 ARef 互转存在潜在不健全风险,若 Owned 生成内部引用,引用升级为 ARef,同时 Owned 继续修改底层对象,会引发并发修改。
  • 团队折中方案:拆分 AlwaysRefCounted trait,禁止为同时实现 Ownable 的类型开启 “内部引用转 ARef” 能力。

该补丁自 2025 年初启动,Hindborg 呼吁社区尽快达成共识。 延伸讨论:page 结构体很难实现 Ownable,vm_insert_page 会增加页引用计数,folio 迁移也带来额外复杂度,内存维护者更推荐优先使用 folio;IOMMU 页表、Rust binder 驱动有望受益于 Owned 抽象。

参考:https://lwn.net/SubscriberLink/1099015/54401bed7cd9c3ef/

3.树莓派 Pico 2 上基于 Rust 开发 TrustZone-M 安全飞地 ​

面向物联网密钥保护场景,文章演示基于 ARM TrustZone-M 在 RP235x(Pico2)搭建安全飞地。TrustZone-M 划分安全世界 / 非安全世界,SAU 配置内存区域权限;安全世界可访问全部资源,非安全世界仅能访问非安全区域,仅可通过 SG 指令封装的 veneer 入口进入安全世界。

  • 实操要点:分别为两个世界编写 memory.x,对半划分 2MB Flash、512KB RAM;配置 SAU 区域,开启 SecureFault 捕获越权访问;RP235x 的 ACCESSCTRL 分配外设权限;使用bootload_ns跳转至非安全世界;用#[unsafe(no_mangle)] extern "cmse-nonsecure-entry"声明安全入口。
  • 安全提醒:寄存器未分组,安全世界返回前必须清零寄存器,防止敏感信息泄露;指针需要 TT 指令校验。当前痛点:双固件烧录调试繁琐,入口原型需要手工维护;作者计划通过过程宏自动生成原型,并推出 HSM 概念验证 Demo。

参考:https://tweedegolf.nl/en/blog/241/using-trustzone-m-in-rust-on-the-raspberry-pi-pico-2

4. hotpath-rs + Grafana/Prometheus 构建 Rust 应用性能观测体系 ​

文章介绍 hotpath-rs 性能观测工具,开启 hotpath-prometheus 特性后,指标在 6772 端口以 Prometheus 格式暴露。 工具强调孤立耗时数据价值有限,核心是添加上下文归因:指标按 Axum 路由分组,分层观测 SQL 耗时、p95 慢查询、N+1 查询、出站 HTTP 调用、内存分配,可下钻至具体函数;同时支持通道队列深度、RwLock/Mutex 锁等待、Tokio 运行时 worker 调度、线程 CPU 与内存分配指标。

性能开销:#[hotpath::measure]单次测量约 40ns。配套 PromQL 可按耗时占比、阈值筛选热点函数;hotpath Cloud 可将性能约束写入 CI,例如限制单请求 SQL 调用数量、强制热路径函数零分配。

参考:https://hotpath.rs/blog/rust-performance-grafana

5. rsdom:自定义结构体作为 DOM 树节点 ​

XML 元素没有内置值,Rust 容器要求成员类型统一,无法直接将 Svg、Rect、Circle 等不同结构体放入同一树。rsdom 方案:将各类结构体封装为枚举BespokeTreeNode变体,为枚举实现 Node trait;枚举变体附带指向父节点的 Weak 指针、首子节点与兄弟节点,结构体自身也持有 Weak 指针反向关联树节点。 手写样板代码成本极高,rsdom 提供两套宏:custom_elements!函数宏,根据结构体列表自动生成枚举、Node 实现与类型访问方法;属性宏#[element(...)],为结构体自动补充字段与 new 构造函数,借助Rc::new_cyclic构建 Weak 指针。 未来规划:支持 XSD 模式自动生成元素定义,用于校验、序列化与反序列化。

参考:https://gitlab.gnome.org/World/Rust/markup-rs/xml-tech-stack-in-rust/-/wikis/Papers/Custom-structs-as-Tree-Nodes

本期小结 ​

本期 Rust 生态看点集中于 Rust 1.100 版本前瞻,新的 Cargo 安全机制与语言特性值得开发者提前测试。头部通讯产品在十亿级设备上验证 Rust 工程价值,提供两种典型跨平台集成范式。安全方面,编译器底层漏洞、TLS 库安全补丁、基础设施攻防防护、车载 ISO 26262 认证同步推进。内核集成、形式化验证工具持续迭代,逐步解决 C 互操作、程序证明等长期难点;配套的性能观测、无锁内存回收、嵌入式安全开发工具不断完善,持续拓展 Rust 在系统、嵌入式领域的应用边界。