在23andMe的Yamale (YAML的模式和驗證器)中披露了一個高度嚴重的代碼注入漏洞,網絡攻擊者可以隨意利用該漏洞執行任意Python代碼。
該漏洞被跟蹤為CVE-2021-38305(CVSS分數:7.8),涉及操縱作為工具輸入提供的架構文件,以繞過保護并實現代碼執行。特別是,問題存在于模式解析函數中,該函數允許對傳入的任何輸入進行求值和執行,從而導致在模式中使用特殊制作的字符串來注入系統命令的情況。
Yamale是一個Python包,它允許開發人員從命令行驗證YAML(一種經常用于編寫配置文件的數據序列化語言)。GitHub上至少有224個存儲庫使用這個包。
JFrog Security 首席技術官 Asaf Karas 在電子郵件聲明中說:“這個漏洞允許攻擊者提供輸入模式文件來執行 Python 代碼注入,從而導致使用Yamale進程的特權執行代碼。” “我們建議對任何進入eval() 的輸入進行徹底的清理,最好是用任務所需的更具體的api替換eval()調用。”
該問題已在Yamale 版本3.0.8中得到糾正。Yamale的維護者在8月4日發布的發布說明中指出:“這個版本修復了一個錯誤,即格式良好的模式文件可以在運行Yamale的系統上執行任意代碼。”
這是JFrog在Python包中發現的一系列安全問題中的最新發現。
2021年6月,Vdoo在PyPi存儲庫中披露了typosquatted包,發現這些包下載并執行第三方加密器,如T-Rex、ubqminer或PhoenixMiner,用于在受影響的系統上挖掘以太坊和Ubiq。
隨后,JFrog安全團隊發現了另外8個惡意的Python庫,這些庫被下載了不少于3萬次,可以用來在目標機器上執行遠程代碼,收集系統信息,竊取信用卡信息和自動保存在Chrome和Edge瀏覽器中的密碼,甚至竊取Discord認證令牌。
“軟件包存儲庫正成為供應鏈攻擊的熱門目標,npm、PyPI和RubyGems等流行存儲庫已經受到惡意軟件攻擊,”研究人員稱。“有時,惡意軟件包被允許上傳到包存儲庫,這給了惡意行為者利用存儲庫傳播病毒的機會,并對開發人員和管道中的CI/CD機發起成功的攻擊。”
隨著敏捷開發的盛行,第三方軟件包存儲庫被廣泛使用,這在一定程度上幫助開發人員加快開發進程,提高工作效率。但在犯罪分子眼中,開發人員及其團隊及客戶群已成為惡意軟件的關鍵切入點,針對開發人員的最常見的攻擊媒介之一是利用公共軟件包存儲庫。因此在使用這些托管包時,對框架及代碼及時進行安全檢測十分重要。
當應用程序中的第三代碼方庫不能保持在最新狀態時,對企業來說后果可能很嚴重。首先,違規風險可能會更高,其次是增加了補丁的復雜性。漏洞時間越長修補就越復雜,打補丁所需的時間就越長,破壞應用程序的風險也就越大。
因此在軟件開發期間就開始關注代碼質量和安全,使用靜態代碼檢測工具或SCA等工具,檢測編碼規范問題及缺陷,提高自研代碼及第三方代碼的安全性,不但可以為開發人員查看修改代碼問題節省大量時間成本,還能為后續維護軟件安全問題減少阻力,確保軟件自身安全。
參讀鏈接:
文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規行為,您可以聯系管理員刪除。
轉載請注明本文地址:http://specialneedsforspecialkids.com/yun/122337.html