研究人員在Windows版的SVN中發(fā)現(xiàn)代碼執(zhí)行漏洞
Apache Subversion(SVN)是一款廣受開發(fā)者歡迎的版本控制系統(tǒng),用于維護(hù)源代碼、網(wǎng)頁和文檔。最近,Apache Subversion中發(fā)現(xiàn)了一個(gè)關(guān)鍵的安全漏洞,CVE-2024-45720(CVSS評分8.2)。該漏洞主要影響Windows平臺(tái),可能導(dǎo)致命令行參數(shù)注入,從而執(zhí)行非預(yù)期的程序。
根據(jù)Apache Subversion項(xiàng)目的安全公告,該漏洞源于Windows平臺(tái)上命令行參數(shù)的處理方式。具體來說,當(dāng)命令行參數(shù)傳遞給svn.exe等Subversion可執(zhí)行文件時(shí),會(huì)發(fā)生“最佳匹配”字符編碼轉(zhuǎn)換。公告解釋道:“攻擊者如果能夠運(yùn)行Subversion的一個(gè)可執(zhí)行文件(svn.exe等),并使用特制的命令行參數(shù)字符串,可以利用字符編碼轉(zhuǎn)換過程導(dǎo)致意外的命令行參數(shù)解釋,從而導(dǎo)致參數(shù)注入和其他程序的執(zhí)行?!?/p>
這個(gè)漏洞因?yàn)閃indows處理命令行參數(shù)的方式與UNIX-like平臺(tái)不同而變得更加嚴(yán)重。在Windows上,命令行參數(shù)作為單個(gè)字符串傳遞給程序,然后程序必須將其解析為單獨(dú)的參數(shù)。在這個(gè)過程中,特別是當(dāng)涉及到某些Unicode字符時(shí),會(huì)發(fā)生“最佳匹配”字符編碼轉(zhuǎn)換,可能導(dǎo)致不可預(yù)測的結(jié)果,包括執(zhí)行惡意命令。
公告指出:“已知Subversion在Windows 10和11上受到影響;它可能也會(huì)影響大多數(shù)其他版本的Windows。”
盡管這個(gè)問題僅限于Windows平臺(tái),但Apache Subversion在開發(fā)環(huán)境中的廣泛使用增加了風(fēng)險(xiǎn),因?yàn)樵S多團(tuán)隊(duì)依賴Subversion來管理跨各種項(xiàng)目的版本控制過程。這個(gè)漏洞對UNIX-like平臺(tái)(如Linux和macOS)沒有影響,因?yàn)檫@些平臺(tái)處理命令行參數(shù)的方式不同。
該漏洞由DEVCORE研究團(tuán)隊(duì)的安全研究人員Orange Tsai和Splitline報(bào)告,該團(tuán)隊(duì)以識(shí)別關(guān)鍵軟件漏洞而聞名。
CVE-2024-45720漏洞已在Subversion 1.14.4中得到修復(fù),強(qiáng)烈建議所有Windows平臺(tái)的用戶升級到這個(gè)修復(fù)版本。對于那些無法立即升級的用戶,公告提供了一個(gè)臨時(shí)緩解措施,即應(yīng)用Subversion項(xiàng)目提供的補(bǔ)丁。