三款主流的源版本控制系統(tǒng)Git、Subversion (svn)、Mercurial系統(tǒng)源碼,今日發(fā)布了更新補丁,修復了一個客戶端代碼執(zhí)行漏洞。
該漏洞由GitLab的Brian Neel系統(tǒng)源碼,Recurity Labs的Joan Schneeweiss和GitHub的Jeff King發(fā)現(xiàn)和報告的。
應用于Linux kernel、GitHub和Gitlab背后的開源版本控制系統(tǒng)Git。今天發(fā)布了多個更新版本,Git v2.14.1、2.7.6、v2.8.6、v2.9.5、v2.10.4、v2.11.3、v2.12.4和v2.13.5,用于修復該漏洞。
“此次更新修復了編號為CVE-2017-1000117的漏洞,與Subversion和Mercurial的維護者協(xié)調(diào)發(fā)布,共享了這個類似的問題?!盙it維護者Junio Hamano在郵件列表中寫道。
該漏洞需要結(jié)合一些社會工程學技巧才能更好的利用。
Git在其公告中警告:“惡意的攻擊者可以向受害者發(fā)送一條精心構造的ssh:// URL鏈接,當受害者訪問這條URL則會觸發(fā)漏洞導致執(zhí)行惡意代碼”。
攻擊者通過精心構造一個"ssh://..."URL鏈接發(fā)送給受害者,如果受害者訪問了這個URL,則會導致惡意指令在客戶端執(zhí)行。
惡意URL可以放在項目的".gitmodules"文件中,受害者執(zhí)行“git clone --recurse-submodules”則會觸發(fā)該漏洞。
Apache Subversion(SVN)1.9.7修補了CVE-2017-9800問題,它與Git中修補的內(nèi)容是類似的。
“在svn:externals和svn:sync-from-url中通過構造惡意svn+ssh URL則會導致客戶端任意代碼執(zhí)行”在此次SVN更新中修復了該安全問題。
開源的Mercurial版本控制系統(tǒng)在4.3和4.2.3修復了該漏洞,漏洞編號為CVE-2017-1000115。