1. 程式人生 > >Git中的遠端程式碼執行漏洞已被修復 多個工具受影響

Git中的遠端程式碼執行漏洞已被修復 多個工具受影響

  據外媒 BleepingComputer 報道,Git 專案組於前兩天公佈了一個在 Git 命令列客戶端、Git Desktop 和 Atom 中發現的任意程式碼執行漏洞,這是一個比較嚴重的安全漏洞,可能會使得惡意倉庫在易受攻擊的計算機上遠端執行命令。

  這個漏洞已被分配 CVE-2018-17456 這個唯一 ID,與之前的 CVE-2017-1000117 可選注入漏洞相似 —— 惡意倉庫可以新建一個 .gitmodules 檔案,其中包含以破折號開頭的 URL。

GitHub-logo.png

  通過破折號,當 Git 使用 --recurse-submodules 引數來克隆倉庫時,該命令會將 URL 翻譯為一個選項,然後可以使用該選項在計算機上進行遠端程式碼執行。

  當執行 "git clone --recurse-submodules" 時,Git 會解析 .gitmodules 檔案中的 URL 欄位,然後將其作為引數傳遞給 "git clone" 子程序。如果 URL 欄位是一個字串,並使用短劃線開頭,這個 "git clone" 子程序將會把 URL 翻譯為一個選項。這可能導致使用者執行 "git clone" 時,會執行 superproject 中的任意指令碼。

  下面通過一個例子進行說明,下面的漏洞使用了惡意的 .gitmodules 檔案(注意 URL 如何以破折號開頭),以使得 Git 認為這是一個選項。然後 "touch VULNERABLE/

[email protected]:/timwr/test.git" 這條命令將會被執行。

[submodule "test"] path = test url = ssh://-oProxyCommand=touch VULNERABLE/[email protected]:/timwr/test.git

  此漏洞已在 Git v2.19.1 (with backports in v2.14.5, v2.15.3, v2.16.5, v2.17.2, and v2.18.1), GitHub Desktop 1.4.2, Github Desktop 1.4.3-beta0, Atom 1.31.2 和 Atom 1.32.0-beta3 中得到修復。

  Git 專案組強烈建議所有使用者升級到最新版本的 Git clientGithub Desktop 或 Atom,以免遭受惡意倉庫的攻擊。