搞定升級 Git 到 v2.35.2 之後的各種問題
深入理解 CVE-2022-24765 漏洞的攻擊與防護策略
多奇數位創意有限公司
技術總監 黃保翕(Will 保哥)
https://blog.miniasp.com
CVE-2022-24765
• 在多使用者的電腦環境下,可能會被其他使用者在上層資料夾植入 .git
目錄,導致目前使用者在不知情的情況下讀取到不應該讀取
的 .gitconfig 設定值!
• 在現有的 Git 的工作目錄下操作 Git 比較沒問題,但是在工作目錄以外執
行 Git 就有可能遭受攻擊。
• 最有效的解決方法是將 Git 升級到 v2.35.2 以上版本
• 如果無法立刻升級,你可以這樣做
- 定義 GIT_CEILING_DIRECTORIES 環境變數,指向你可以信賴的最上層目錄
例如: C:Users (Windows) 或 /Users (macOS) 或 /home (Linux)
- 避免使用可多人登入的電腦環境下工作
2
常用命令(命令提示字元)
• 取得目錄或檔案擁有者資訊
DIR /Q /AD
• 修改目錄或檔案擁有者
- icacls.exe api1 /setowner user1
3
常用命令(PowerShell)
• 取得 ACL (Access Control List) 資訊
Get-Acl *
• 取得所有目錄或檔案的 ACL 資訊
dir -Recurse | Get-Acl | Format-List
• 複製特定目錄或檔案的 ACL 資訊
Get-Acl -Path 'Path1' | Set-Acl -Path 'Path2'
• 修改目錄或檔案的擁有者
$Account = New-Object -TypeName System.Security.Principal.NTAccount -ArgumentList 'user1'
$Acl = Get-Acl api1
$Acl.SetOwner($Account)
Set-Acl -Path api1 -AclObject $Acl
4
相關連結
• Git security vulnerability announced | The GitHub Blog
• [ANNOUNCE] Git v2.35.2 and below for CVE-2022-24765 (kernel.org)
• CVE - CVE-2022-24765 (mitre.org)
• Uncontrolled search for the Git directory in Git for Windows
• Git for Windows 2.35.2 (Download)
• Releases · git-for-windows/git (github.com)
5
The Will Will Web
網路世界的學習心得與技術分享
http://blog.miniasp.com/
Facebook
Will 保哥的技術交流中心
http://www.facebook.com/will.fans
Twitter
https://twitter.com/Will_Huang
6
聯絡資訊
THANK YOU!
Q&A

深入理解 CVE-2022-24765 漏洞的攻擊與防護策略 (Git v2.35.2)

  • 1.
    搞定升級 Git 到v2.35.2 之後的各種問題 深入理解 CVE-2022-24765 漏洞的攻擊與防護策略 多奇數位創意有限公司 技術總監 黃保翕(Will 保哥) https://blog.miniasp.com
  • 2.
    CVE-2022-24765 • 在多使用者的電腦環境下,可能會被其他使用者在上層資料夾植入 .git 目錄,導致目前使用者在不知情的情況下讀取到不應該讀取 的.gitconfig 設定值! • 在現有的 Git 的工作目錄下操作 Git 比較沒問題,但是在工作目錄以外執 行 Git 就有可能遭受攻擊。 • 最有效的解決方法是將 Git 升級到 v2.35.2 以上版本 • 如果無法立刻升級,你可以這樣做 - 定義 GIT_CEILING_DIRECTORIES 環境變數,指向你可以信賴的最上層目錄 例如: C:Users (Windows) 或 /Users (macOS) 或 /home (Linux) - 避免使用可多人登入的電腦環境下工作 2
  • 3.
    常用命令(命令提示字元) • 取得目錄或檔案擁有者資訊 DIR /Q/AD • 修改目錄或檔案擁有者 - icacls.exe api1 /setowner user1 3
  • 4.
    常用命令(PowerShell) • 取得 ACL(Access Control List) 資訊 Get-Acl * • 取得所有目錄或檔案的 ACL 資訊 dir -Recurse | Get-Acl | Format-List • 複製特定目錄或檔案的 ACL 資訊 Get-Acl -Path 'Path1' | Set-Acl -Path 'Path2' • 修改目錄或檔案的擁有者 $Account = New-Object -TypeName System.Security.Principal.NTAccount -ArgumentList 'user1' $Acl = Get-Acl api1 $Acl.SetOwner($Account) Set-Acl -Path api1 -AclObject $Acl 4
  • 5.
    相關連結 • Git securityvulnerability announced | The GitHub Blog • [ANNOUNCE] Git v2.35.2 and below for CVE-2022-24765 (kernel.org) • CVE - CVE-2022-24765 (mitre.org) • Uncontrolled search for the Git directory in Git for Windows • Git for Windows 2.35.2 (Download) • Releases · git-for-windows/git (github.com) 5
  • 6.
    The Will WillWeb 網路世界的學習心得與技術分享 http://blog.miniasp.com/ Facebook Will 保哥的技術交流中心 http://www.facebook.com/will.fans Twitter https://twitter.com/Will_Huang 6 聯絡資訊
  • 7.