最近, 报告称,Windows 设备可能会受到命令注入攻击,利用由 Rust 标准库引发的一个高危漏洞。该漏洞被标记为 CVE-2024-24576,影响所有早于 1.77.2 版本的 Rust。
据 Flatt Security 的安全工程师 RyotaK 介绍,此漏洞被称为 BatBadBut,源于该编程语言在处理 CreateProcess函数时的封装和命令参数中的转义机制问题。RyotaK 已向 CERT 协调中心报告了该漏洞。Rust 安全响应工作组补充说明,由于 Rust在批处理文件调用过程中对参数的转义不当,导致可以执行任意的 shell 命令。
"为了防止批处理文件意外执行,您应考虑将批处理文件移到不在 PATH 环境变量中的目录。在这种情况下,只有在指定完整路径时,批处理文件才会被执行,从而可以有效防止意外执行",RyotaK 说道。
为加强安全性,建议开发者遵循以下指引:
| 建议措施 | 说明 |
|---|---|
| 移动批处理文件到不在 PATH 中的目录 | 防止批处理文件在未完整指定路径的情况下执行 |
| 定期更新 Rust 版本,确保使用安全补丁 | 避免已知漏洞带来的安全隐患 |
| 加强参数转义和验证过程 | 确保传递给命令的参数经过妥善处理 |
确保遵循这些建议,可以帮助用户降低遭受命令注入攻击的风险。
Leave a Reply