這 發布新的 Git 維護修復 v2.40.1, 以及之前版本 v2.39.3、v2.38.5、v2.37.7、v2.36.6、v2.35.8、
v2.34.8、v2.33.8、v2.32.7、v2.31.8、v2.30.9,這是因為發布的信息表明Git中發現了五個漏洞。
這些維護版本的發布 是為了解決已識別的安全問題 例如 CVE-2023-25652、CVE-2023-25815 和 CVE-2023-29007。
關於 Git 漏洞
脆弱性 CVE-2023-29007 允許配置文件中的配置替換 $GIT_DIR/config,可用於通過在 core.pager、core.editor 和 core.sshCommand 指令中指定可執行文件的路徑來在系統上執行代碼。
脆弱性 是由於非常長的配置值導致的邏輯錯誤 通過重命名或從配置文件中刪除一個部分,它們可以被視為新部分的開始。
實際上,可以通過在初始化期間指定保存在 $GIT_DIR/config 文件中的非常長的子模塊 URL 來實現利用值的替換。 當您嘗試通過“git submodule deinit”刪除它們時,這些 URL 可以被解釋為新配置。
另一個漏洞是 CVE-2023-25652 允許覆蓋工作樹之外的文件內容 使用命令處理專門設計的補丁時“git 申請 --reject«。 如果您嘗試使用以下命令運行惡意補丁“git 應用» 嘗試通過符號鏈接寫入文件,操作將被拒絕。
就漏洞 CVE-2023-25815 而言:當 Git 使用運行時前綴支持編譯並且在沒有翻譯消息的情況下運行時,它仍然使用 gettext 機制來顯示消息,這隨後可能會在意想不到的地方尋找翻譯消息。 這允許惡意發布被操縱的消息。
在 Git 2.39.1 中,針對符號鏈接篡改的保護已擴展為阻止創建符號鏈接並嘗試通過它們進行寫入的補丁。 該漏洞的實質是 Git 沒有考慮到用戶可以執行命令“git apply –reject” 將補丁的被拒絕部分寫入擴展名為“.rej”的文件,攻擊者可以使用此功能將內容寫入任意目錄,只要當前訪問權限允許即可。
另外, 修復了僅在 Windows 上出現的三個漏洞:
- CVE-2023-29012: (它在執行“Git CMD”命令時在存儲庫工作目錄中查找 doskey.exe 可執行文件,這允許在用戶系統上組織其代碼的執行)
- CVE-2023-25815: 在 gettext 中處理自定義本地化文件時緩衝區溢出。 此漏洞會影響在 Windows 計算機上工作的用戶,而其他不受信任方對其具有寫訪問權限。 通常,所有經過身份驗證的用戶都有權在 C:\ 上創建文件夾,這允許惡意行為者將不良消息注入 git.exe。
- CVE-2023,29011:在通過 SOCKS5 工作時可以替換 connect.exe 文件。 connect.exe 配置文件的位置被硬編碼為通常解釋為 C:\etc\connectrc 的路徑,這與上述內容類似。
科莫 替代解決方案 為了防止漏洞, 建議避免運行命令 «git 申請 --reject» 使用未經驗證的外部補丁並驗證內容時 $GIT_DIR/配置 在執行命令之前“git子模塊deinit“,”git配置 --rename-section" 和 "git config --remove-section" 在處理不受信任的存儲庫時。
最後,如果你有興趣能夠了解更多,可以查閱詳情 以下鏈接。
對於那些有興趣關注發行版中軟件包更新發布的人,您可以在以下頁面上進行 Debian, Ubuntu, RHEL, SUSE/開放SUSE, Fedora, 拱, FreeBSD的.