Rust 1.58.1 发布了,这是一个 CVE-2022-21658 漏洞的紧急修复版本。
1月20日,Rust 安全响应工作组发布了 标准库的漏洞安全公告 (CVE-2022-21658):指出 std::fs::remove_dir_all
标准库函数容易受到启用符号链接跟踪的竞争条件 (CWE-363) 的影响。攻击者可以利用此安全问题诱使特权程序删除攻击者无法访问或删除的文件和目录。
Rust 1.58.1 版本即为此漏洞的修复补丁,除了修复漏洞外,该版本还解决了 Rust 1.58.0 中引入的诊断工具的几个回归问题::
non_send_fields_in_send_ty
Clippy lint 被发现有太多误报问题,已被转移到实验 lints 组(被称为“nursery”)。useless_format
Clippy lint 已更新,以处理格式字符串中捕获的标识符。- 修复了 Rustfmt 中的回归,防止生成的文件在通过标准输入时被格式化。
- 修复在某些情况下,
rustc
显示不对的报错消息。
安全不安全,工具是一方面,人也是一方面。java/c# 杜绝了 c++ 的内存问题,但写出来的软件,一样存在 bug. log4j 前段时间闹得鸡飞狗跳。
那些推荐 rust 的人,还不如呼吁 c++ 改个方向,做一个 "c++--" , 减去一些过于复杂的功能、改成内存自动释放。好歹 C++ 背靠标准化组织,号召力强。