Rust 资讯:Rust 1.77.2 发布,修复 Windows 上一个高危漏洞

Rust 发布了 1.77.2 版本,属于小版本更新,最主要升级是发布了一个重要的标准库安全补丁,本次升级 Blog 由 The Rust Security Response WG(安全响应工作组团队)发布,以往都是 The Rust Release Team(发布团队),可见端倪。

关于CVE-2024-24576 漏洞:

Rust 最主要的优势就是安全,但这并不代表该编程语言就没有漏洞。安全专家近日发现了追踪编号为 CVE-2024-24576 的漏洞,攻击者可以利用 Rust 标准库中的漏洞通过命令注入攻击 Windows 系统。 该漏洞是由于操作系统命令和参数注入缺陷造成的,攻击者可在操作系统上执行潜在的恶意命令。

GitHub 已将此漏洞评为"严重",最高 CVSS 基线得分为 10/10。未经身份验证的攻击者可以在无需用户交互的情况下以低复杂度的攻击远程利用此漏洞。

Rust 安全响应工作组获悉,1.77.2 版之前的 Rust 标准库在使用"Command"在 Windows 上调用批处理文件(带有"bat"和"cmd"扩展名)时,无法正确转义参数。能够控制传递给生成进程的参数的攻击者可以通过绕过转义来执行任意 shell 命令。对于那些在 Windows 上使用不受信任的参数调用批处理文件的人来说,此漏洞的严重性至关重要。但不影响其他平台或使用。

Command::arg 和 Command::args API 在其文档中声明,无论参数的内容如何,参数都将按原样传递给生成的进程,并且不会由 shell 进行评估。这意味着将不受信任的输入作为参数传递应该是安全的。在 Windows 上,其实现比其他平台更复杂,因为 Windows API 仅提供一个包含派生进程的所有参数的单个字符串,并且由派生进程来分割它们。大多数程序使用标准 C 运行时 argv参数,这实际上会导致参数分割方式基本一致。但一个例外是"cmd.exe"(用于执行批处理文件),它有自己的参数分割逻辑。这迫使标准库对传递给批处理文件的参数实现自定义转义。不幸的是,Rust 的转义逻辑不够彻底,有可能传递恶意参数,导致任意的 shell 命令可以执行。由于"cmd.exe"的复杂性,Rust 团队暂时没有找到在所有情况下都能正确转义参数的解决方案。因此,他们必须提高失控代码的可靠性并修改 Command API。如果命令 API 在创建进程时无法安全地转义参数,则会返回InvalidInput错误。该修复包含在 Rust 1.77.2 中。

Rust 安全响应工作组补充道:"要注意批处理文件的新转义逻辑在保守方面会出错,并且可能会拒绝有效参数。如果您自己实现转义或仅处理受信任的输入,那么在 Windows 上您还可以使用CommandExt::raw_arg方法来绕过标准库转义逻辑。"

具体原因

简单的说就是 Rust 的 std::process::Command 没有正确转义 Windows 上批处理文件的参数。

1.77.2 之前的版本,在 Windows 上使用命令 API 调用批处理文件(带有 bat 和 cmd 扩展名)时,Rust 标准库没有正确转义参数。这会造成的可怕的影响,那就是攻击者可以控制传递到生成进程的参数,然后绕过转义来执行任意的 shell 命令(Commands),在 Windows 上调用批处理文件时使用的是不可信任的参数,因此该漏洞是个非常高危的漏洞。不过好在其他平台或使用不受影响。

鉴于如此高危漏洞,Rust 安全响应工作组随后发布安全公告。随即发布了 1.77.2 标准库安全补丁,修复了存在于 Windows 系统上的问题,并表示其它平台或者用途不受影响。

注:如果对细节感兴趣,推荐阅读下面2篇文章

参考资料

相关推荐
hz5678910 小时前
本地部署视频会议系统软件功能有哪些?会议预约、权限分配与协作能力详解
安全·云计算·实时音视频·信息与通信·远程工作
山东科恩光电10 小时前
安全触边电阻变化感应机制与工业自动化设备防夹伤配置实操指南
安全
程工造Agent10 小时前
从 0 到 1 学 Codex 源码:顺着 main 读懂 Rust 闭包与 async move
rust·ai编程
shiyi.十一11 小时前
【CISP教材】第9知识域:计算环境安全
网络·安全·cisp
YFJ_mily11 小时前
【10-12月优质学术会议合集】会议覆盖人工智能、大数据、高端装备、软件与网络安全 、计算机视觉技术等热门方向
算法·安全·web安全·网络安全·软件·rdlink研发家
竣达技术12 小时前
Modbus 转 SNMP 协议转换器|自定义协议 + SNMP TRAP 主动上报
运维·服务器·网络·数据库·安全
F&C嘉准传感器12 小时前
国产接近FSCU1808全密封接近开关:CNC油污工况稳定检测,撞机事故减少
人工智能·安全·目标检测·自动化
山东科恩光电13 小时前
安全地毯丁晴橡胶材质耐磨损特性与工业车间多场景防护安装维护实践
安全
海上彼尚14 小时前
【微信小程序】xxx该网站的安全证书存在问题,可选择 “继续”在浏览器中访问。
安全·微信小程序·小程序
2CM_Embed15 小时前
μC/OS-II 内核结构零基础详解(二):任务控制块、就绪表、调度器与中断切换
操作系统