Rust新方案可消除八成Linux内核CVE

Greg Kroah-Hartman本周在荷兰乌得勒支举行的RustWeek 2026大会上透露,一项基于Rust语言的提案正在开发中,有望消除Linux内核大约80%的CVE漏洞。这一论断分量十足,因为他自2005年Linux内核安全团队成立以来,亲自审查了每一个内核安全漏洞。

C语言的安全盲区

Rust新方案可消除八成Linux内核CVE

核心问题正如Greg所见,在于不可信数据。无论数据来自用户空间还是硬件,内核都应对其保持警惕。然而C语言从未提供可靠的方法来强制执行这一原则:一旦数据从用户空间复制到内核中,它就变成普通指针,丢失了来源信息,被随意传递,而外部检查程序并非总能及时捕捉风险。

硬件层面带来同样的问题。内核原本假设硬件是可信的,但随着恶意硬件日益成为真实威胁,这一假设愈发难以维系。

Rust已经带来的改变

在新提案正式落地之前,Rust已经展现出显著效果。忘记检查错误返回值和忘记释放锁是造成内核CVE的两大常见原因,而Rust在编译阶段就解决了这两个问题。Greg估计仅此两项修复就能覆盖约60%的内核漏洞。

不仅如此,为现有C代码编写Rust绑定,无形中促使内核维护者主动记录并思量自己的API,明确了所有权语义、锁规则以及常量正确性。

“不可信”类型登场

Greg的解决方案是一种名为Untrusted<T>的Rust类型,由他与内核贡献者Benno Lossin共同开发。该类型作为一个编译期标记,附加在来自用户空间或硬件的数据上,不会带来任何运行时开销。要访问底层数据,必须经过一个显式验证步骤将其转换为可信状态,从而将所有验证代码集中到一处可见、可审查的地方。

对于Linux用户而言,这意味着那些不断以安全更新形式分发到系统上的大量CVE,根本就不会出现。但需要指出的是,这一方案尚未合并——Rust编译器仍需调整,相关的字段投影工作也在同步推进。Greg在演讲结束时呼吁更多Rust内核开发者加入,并推荐从Rust for Linux邮件列表开始。


关注微信号:智享开源 ,及时了解更新信息。

原文链接:https://feed.itsfoss.com/link/24361/17345650/linux-kernel-rust-cve-reduction

投稿作者 作者网站

评论列表

发表评论

你必须 登录 才能发表评论.

为您推荐


请支持IMCN发展!

谁在捐赠

微信捐赠 支付宝捐赠
微信捐赠 支付宝捐赠
ta的个人站点

发表文章4278篇

关注我的头条 不要放弃,百折不挠,坚强、自信。


扫码关注公众号:智享开源

最新科技信息


[blog_mailer_subscribe]

归档

近期评论

💬 和我聊聊