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