【漏洞通告】Rust命令注入漏洞(CVE-2024-24576)
发布时间 2024-04-10一、漏洞概述
漏洞名称 | Rust命令注入漏洞 | ||
CVE ID | CVE-2024-24576 | ||
漏洞类型 | 命令注入 | 发现时间 | 2024-04-10 |
漏洞评分 | 10.0 | 漏洞等级 | 严重 |
攻击向量 | 网络 | 所需权限 | 无 |
利用难度 | 低 | 用户交互 | 无 |
PoC/EXP | 未知 | 在野利用 | 未知 |
Rust是一种通用、编译型编程语言,强调性能、类型安全和并发性,支持函数式、并发式、过程式以及面向对象的编程风格。
2024年4月10日,启明星辰VSRC监测到Rust 标准库中存在命令注入漏洞(CVE-2024-24576,被称为BatBadBut),该漏洞的CVSS评分为10.0,可能在Windows系统上导致命令注入攻击,目前该漏洞的细节已公开。
Rust标准库1.77.2 版本之前,在 Windows 上使用Command API 调用批处理文件(带有bat和cmd扩展名)时,Rust 标准库没有正确转义批处理文件的参数,能够控制传递给生成进程的参数的攻击者可绕过转义执行任意shell 命令。
二、漏洞复现
三、影响范围
Rust < 1.77.2(Windows平台)
注:如果代码或依赖项之一使用不受信任的参数执行批处理文件,则 Windows 上 1.77.2 之前的所有 Rust 版本都会受到影响,其他平台或使用不易受到影响。
BatBadBut漏洞允许攻击者在满足特定条件时对间接依赖CreateProcess函数的Windows应用程序执行命令注入。CreateProcess函数在执行批处理文件时会隐式生成cmd.exe。
BatBadBut漏洞可能影响Erlang、Go、Haskell、Java、Node.js、PHP、Python、Ruby、Rust等多种编程语言,当编程语言封装 CreateProcess 函数并为命令参数添加转义机制时存在安全问题,导致恶意命令行参数可能能够执行命令注入。
相关CVE包括CVE-2024-1874、CVE-2024-22423、CVE-2024-24576(Rust)、CVE-2024-3566 、CVE-2024-27980(Node.js)等,目前PHP、Rust、Node.js等编程语言已发布了修复版本,详情可参考:https://kb.cert.org/vuls/id/123335
四、安全措施
4.1 升级版本
目前官方已在Rust 版本1.77.2中缓解修复了该漏洞,改进了转义代码的稳健性,并更改了Command API,使其在无法安全地转义参数时返回InvalidInput错误。受影响用户可更新到Rust 1.77.2或更高版本。
下载链接:
https://blog.rust-lang.org/2024/04/09/Rust-1.77.2.html
版本检测:
在Windows cmd 或 Powershell中执行命令:rustc --version或者 rustc -V
4.2 临时措施
避免在Windows上使用不受信任的参数调用批处理文件。
4.3 通用建议
l 定期更新系统补丁,减少系统漏洞,提升服务器的安全性。
l 加强系统和网络的访问控制,修改防火墙策略,关闭非必要的应用端口或服务,减少将危险服务(如SSH、RDP等)暴露到公网,减少攻击面。
l 使用企业级安全产品,提升企业的网络安全性能。
l 加强系统用户和权限管理,启用多因素认证机制和最小权限原则,用户和软件权限应保持在最低限度。
l 启用强密码策略并设置为定期修改。
4.4 参考链接
https://blog.rust-lang.org/2024/04/09/cve-2024-24576.html
https://github.com/rust-lang/rust/security/advisories/GHSA-q455-m56c-85mh
https://flatt.tech/research/posts/batbadbut-you-cant-securely-execute-commands-on-windows/
https://kb.cert.org/vuls/id/123335
五、版本信息
版本 | 日期 | 备注 |
V1.0 | 2024-04-10 | 首次发布 |
V1.1 | 2024-04-12 | 新增漏洞复现、相关CVE信息及版本检测 |
六、附录
6.1 公司简介
启明星辰成立于1996年,是由留美博士严望佳女士创建的、拥有完全自主知识产权的信息安全高科技企业。是国内最具实力的信息安全产品、安全服务解决方案的领航企业之一。
公司总部位于北京市中关村软件园启明星辰大厦,公司员工6000余人,研发团队1200余人, 技术服务团队1300余人。在全国各省、市、自治区设立分支机构六十多个,拥有覆盖全国的销售体系、渠道体系和技术支持体系。公司于2010年6月23日在深圳中小板挂牌上市。(股票代码:002439)
多年来,启明星辰致力于提供具有国际竞争力的自主创新的安全产品和最佳实践服务,帮助客户全面提升其IT基础设施的安全性和生产效能,为打造和提升国际化的民族信息安全产业领军品牌而不懈努力。
6.2 关于我们
启明星辰安全应急响应中心已发布1000多个漏洞通告和风险预警,我们将持续跟踪全球最新的网络安全事件和漏洞,为企业的信息安全保驾护航。
关注我们: