聚焦源代码安全,网罗国内外最新资讯!
编译:代码卫士
该漏洞的编号是CVE-2024-24576,是由OS命令和参数注入弱点引发的,可导致攻击者在操作系统上执行异常以及潜在的恶意代码。
GitHub 将该漏洞评级为“严重”,CVSS评分为10。未认证攻击者可远程利用该漏洞,在复杂性低的攻击中利用它且无需用户交互。
Rust 安全响应工作组表示,“Rust 安全响应工作组收到通知称 Rust 标准库通过 Command API在Windows 上调用批处理文件(扩展为 bat 和 cmd)时未正确逃逸参数。能够控制传递给进程的参数的攻击者能够通过绕过逃逸的方式执行任意 shell 命令。如果调用的是含有不可信参数的 Windows 上的批处理文件,那么该漏洞的评级就是‘严重’。其它平台或使用部不受影响。”
如果程序的代码或其中一个依赖调用并执行了带有不可信参数的批处理文件,那么所有适用于 Windows 系统的早于1.77.2的Rust 版本均受影响。
Rust 安全团队在处理 cmd.exe 的复杂性时遇到重大挑战,因为他们无法找到能够在所有情况下正确逃逸参数的解决方案。为此,他们必须增强逃逸代码的健壮性并修改 Command API。如果该 Command API 无法在扩展该进程时逃逸参数,则会返回 InvalidInput 错误。
Rust 安全响应工作组提到,“如果亲自执行该逃逸或者仅处理可信输入,则可在 Windows 系统上通过 CommandEx::raw_arg 方法绕过该标准库的逃逸逻辑。”
2月份,美国国家安全总监办公室督促技术企业采用内存安全编程语言如 Rust。这样做的最终目标是通过将内存安全漏洞数量最少化的方式提升软件的安全性。
题图:Pixabay License
本文由奇安信编译,不代表奇安信观点。转载请注明“转自奇安信代码卫士 https://codesafe.qianxin.com”。
奇安信代码卫士 (codesafe)
国内首个专注于软件开发安全的产品线。
觉得不错,就点个 “在看” 或 "赞” 吧~