Hacker News | 📄 原文链接 | 2026-10-14 收录

Rust 借用检查器里潜伏 11 年的健全性漏洞被公开 — Hacker News 中文摘要

来源:github.com — 506 分 · by formerly_proven

📋 概述

Rust 仓库第 164250 号 issue 公开了一个存在 11 年的类型系统不健全问题:结构体字段的生存期要求可以通过协变字段赋值被绕过。示例里 `struct Q(Option)` 的构造函数只接受 'static 值,但先把 Q 建成 Q(None),再给 q.0 赋一个指向局部变量的引用,借用就被偷偷提升成 'static;配合一个会把值塞进全局 Mutex 的 Drop 实现,程序能打印出已经离开作用域的内容,开 ASan 会报 stack-use-after-scope。类型团队在 issue 里说明该问题被评为 P-high,若考虑野外可利用性本可达 P-critical,唯一降级理由是它 11 年未被发现;实际触发需要恶意构造的 Drop,所以大概率并未意外造成内存不安全。

🔑 核心要点

💡 金句

Rust's type system is intended to prevent memory unsafety. Upholding this promise is something we take very seriously.
← 返回 Hacker News 首页