具備記憶體安全性的 sudo 將成為 Ubuntu 預設 (★ 62 分)
Ubuntu 25.10 將預設採用由 Rust (一種具備強大記憶體安全保證的程式語言) 重寫的記憶體安全版 sudo-rs。這項決策是 Canonical 有計畫地採用 Rust 以提升核心系統元件韌性與可維護性策略之一,sudo-rs 由非營利組織 Trifecta Tech Foundation (TTF) 在 Privilege Boundary (特權邊界) 計畫下開發,目標以記憶體安全方式取代傳統以 C (一種歷史悠久的程式語言) 撰寫的 sudo 工具。
為促成主流 Linux 發行版的採納,sudo-rs 團隊在里程碑五 (Milestone 5) 工作規劃中,將補齊粗粒度殼層跳出防護 (NOEXEC)、AppArmor (強制存取控制) 規則管理、sudoedit 功能,以及對 Linux 核心 5.9 前版本的相容支援,以涵蓋 Ubuntu 20.04 LTS 等舊平台。Canonical 贊助此里程碑開發,並與原 sudo 維護者 Todd Miller 緊密合作,同步改善原版 sudo,且秉持精簡原則,不納入高度利基的額外特性。
Canonical 預計在 Ubuntu 25.10 正式將 sudo-rs 設為預設,讓社群使用者進行驗收測試,並計畫在下一版 Ubuntu 26.04 LTS (長期支援) 中納入,提供至少 12 年維護支援。Trifecta Tech Foundation 為美國 501(c)(3) 公益組織,致力於開放原始碼基礎設施軟體元件;Canonical 則為 Ubuntu 發行商,提供從核心到容器、從裝置到雲端的完整解決方案。
Hacker News 討論中,不少使用者提到 sudo 過去曾因記憶體錯誤爆出多起重大漏洞,如 CVE-2021-3156 (堆疊緩衝區溢位),認為以記憶體安全語言 Rust 重寫能有效減少此類風險;也有人引述 OpenBSD 的 doas 工具,以精簡特性降低攻擊面。對於 sudo-ldap 支援的移除,不少大型部署倚賴 LDAP 中央化權限管理,但實際上多數作業環境已改用 sssd 與 libsss-sudo 接手原本的 sudo-ldap 功能。
此外,有聲音關注 setuid 二進位檔的安全風險,建議類似 systemd-run0 的服務模式或可替代;也有人對 Rust 社群的「傳教式」推廣提出疑慮,擔心新程式語言降低程式可讀性與維護度,或使非記憶體安全的問題被忽略;然而大多數人仍認為,將核心工具記憶體安全化,是長遠提升整體 Linux 生態安全的重要一步。
👥 39 則討論、評論 💬
https://news.ycombinator.com/item?id=43903853