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