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