Git 中的漏洞允許您覆蓋文件或執行您自己的代碼

分散式原始碼管理系統 Git 已發布 2.40.1、2.39.3、2.38.5、2.37.7、2.36.6、2.35.8、2.34.8、2.33.8、2.32.7、2.31.8 和 2.30.9 版本修補程式。這些補丁修復了五個漏洞。您可以在以下頁面追蹤這些發行版的軟體包更新: Debian, UbuntuRHEL、SUSE/openSUSE、Fedora、Arch、FreeBSD。為了防止漏洞,建議在使用未經驗證的外部修補程式時避免執行「git apply --reject」命令,並且在使用不受信任的儲存庫時,執行「git submodule deinit」、「git config --rename-section」和「git config --remove-section」命令之前,請檢查$GIT_DIR/config的內容。

CVE-2023-29007 漏洞允許替換 $GIT_DIR/config 設定檔中的設置,該設定檔可用於透過在 core.pager、core.editor 和 core.sshCommand 指令中指定可執行檔的路徑來在系統上執行程式碼。 該漏洞是由於邏輯錯誤造成的,在對設定檔中的某個節執行重命名或刪除操作時,可能會導致非常長的配置值被視為新節的開始。 在實踐中,可以透過指定很長的子模組 URL 來實現利用該漏洞的值替換,這些子模組在初始化時保存到 $GIT_DIR/config 檔案中。 當嘗試透過「git submodule deinit」刪除這些 URL 時,這些 URL 可能會被解釋為新設定。

漏洞 CVE-2023-25652 允許在使用「git apply –reject」指令處理專門設計的修補程式時覆蓋工作樹外部的檔案內容。 如果您嘗試使用「git apply」命令執行惡意補丁,並嘗試透過符號連結寫入文件,則該操作將被拒絕。 在 Git 2.39.1 中,針對符號連結操作的保護已擴展到阻止建立符號連結並嘗試透過它們進行寫入的補丁。 該漏洞的本質是Git沒有考慮到用戶可以運行“git apply –reject”命令將補丁中被拒絕的部分寫入帶有“.rej”擴展名的文件,而攻擊者可以使用此功能可將內容寫入任意目錄,只要目前存取權限允許即可。

此外,也修復了三個平台特有的漏洞。 Windows:CVE-2023-29012(執行 Git CMD 命令時,在儲存庫工作目錄中搜尋可執行檔 doskey.exe,該指令可讓您在使用者係統上組織程式碼的執行)、CVE-2023-25815(在 gettext 中處理特製的本地化檔案時發生緩衝區文件可能被替換)。

來源: opennet.ru

為具有 DDoS 保護、VPS VDS 服務器的站點購買可靠的主機 🔥 購買具備 DDoS 防護的可靠網站寄存服務,包括 VPS 和 VDS 伺服器 | ProHoster