【漏洞通告】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多個漏洞通告和風險預警,我們將持續跟蹤全球最新的網絡安全事件和漏洞,為企業的信息安全保駕護航。
關注我們: