CVE-2024-24576 Rust 命令注入漏洞【PoC已公布】

admin 2024年4月12日12:36:40评论37 views字数 1768阅读5分53秒阅读模式
 

背景介绍

Rust 编程语言背后的项目声称,对特定 API 的任何调用都是安全的,即使输入的是不安全的内容,但研究人员找到了绕过保护的方法。

一名漏洞研究人员发现,在 Windows 系统上用于执行批处理文件的一个特定函数可能会被利用注入漏洞,Rust 项目组随后发布了该标准库的更新。

Rust 编程语言中包含的一组常用函数(称为标准库)除了其他众多功能外,还提供了通过命令 API 执行 Windows 批处理文件的功能。

根据 4 月 9 日发布的 Rust 安全响应公告来看,该函数对 API 的输入处理不够严格,导致在执行过程中注入代码的可能性。

虽然Rust以其内存安全功能而闻名,但这一事件强调了编程语言无法抵御逻辑错误

应用安全公司JFrog的高级漏洞研究员Yair Mizrahi称,“总的来说,Rust的内存安全是一个显著的优势,但开发人员还必须密切关注逻辑错误的潜在可能性,以确保基于Rust的应用程序的整体安全性和可靠性”

Windows带来了一系列问题

最新问题不是内存安全漏洞,而是用于处理不受信任输入的逻辑问题。Rust 标准库的一部分允许开发人员调用函数将批处理文件发送到 Windows 机器进行处理。

Rust 基金会的技术总监 Joel Marcey 表示,将代码作为批处理文件提交给主机是有原因的,该基金会为该编程语言的维护者和 Rust 生态系统提供支持。

Joel Marcey 称 “批处理文件在系统上运行的原因有很多,Rust 提供了一个 API 来让用户更加容易地执行这些文件。因此,虽然这不一定是 Rust 最常见的用例,但在实施修复补丁之前,API 理论上允许恶意行为者通过运行任意命令来接管系统,这绝对是一个严重的漏洞。”

通常,Rust 会保证对 Command API 调用的安全性,但在这种情况下,Rust 项目无法找到阻止所有参数执行的方法,主要是因为 Windows 不遵守任何类型的标准,而且 API 可能允许攻击者提交代码,然后执行这些代码。

Rust 安全响应工作组表示:“不幸的是,我们的转义逻辑不够彻底,有可能传递恶意参数,从而导致任意 Shell 执行。”

Rust项目组的快速响应

Rust 项目已经表示可以快速解决问题,标准库漏洞 CVE-2024-24576 最终是 Windows 批处理的一个问题,如果其它编程语言不能充分解析发送到 Windows 批处理过程的参数,也会影响到其它编程语言。

Rust 似乎是第一个修复将参数传递给 Windows CMD.exe 进程的项目。

PoC

以下来自Github上的PoC:

C:Usersfrosttesting>cargo run
   Compiling testing v0.1.0 (C:Usersfrosttesting)
    Finished dev [unoptimized + debuginfo] target(s) in 0.49s
     Running `targetdebugtesting.exe`
enter payload here
aaa
Output:
Argument received: aaa
C:Usersfrosttesting>cargo run
    Finished dev [unoptimized + debuginfo] target(s) in 0.01s
     Running `targetdebugtesting.exe`
enter payload here
aaa & whoami
Output:
Argument received: "aaa & whoami"
C:Usersfrosttesting>cargo run
    Finished dev [unoptimized + debuginfo] target(s) in 0.01s
     Running `targetdebugtesting.exe`
enter payload here
aaa" & whoami
Output:
Argument received: "aaa"
desktop-8j2vk8bfrost

原文报道来自:https://www.darkreading.com/application-security/critical-rust-flaw-poses-exploit-threat-in-specific-windows-use-cases

CVE-2024-24576 Rust 命令注入漏洞【PoC已公布】

以上由骨哥翻译并整理。

 

原文始发于微信公众号(骨哥说事):CVE-2024-24576 Rust 命令注入漏洞【PoC已公布】

  • 左青龙
  • 微信扫一扫
  • weinxin
  • 右白虎
  • 微信扫一扫
  • weinxin
admin
  • 本文由 发表于 2024年4月12日12:36:40
  • 转载请保留本文链接(CN-SEC中文网:感谢原作者辛苦付出):
                   CVE-2024-24576 Rust 命令注入漏洞【PoC已公布】https://cn-sec.com/archives/2651025.html

发表评论

匿名网友 填写信息