ปัญหาช่องโหว่ Git

พอดีว่าไปเจอ post อันนี้ เล่าถึง critical git vulnerability (เขียนเมื่อ 16 พฤษภาคม).

Critical Git vulnerability allows RCE when cloning repositories with submodules (CVE-2024-32002) - Help Net Security
New versions of Git are out, with fixes for CVE-2024-32002, which can be used to remotely execute code during a “clone” operation.

ตัวช่องโหว่ vulnerability อันนี้ มันสามารถสั่งให้ git run คำสั่งที่ไม่ปลอดภัยได้ เพียงแค่เราให้มัน git clone ตัว repository ที่โดนวางยาเอาไว้ โดยผ่านช่องทางของ git submodule ฮะ

มี Demo ของการโจมตีผ่านช่องโหว่นี้ตามลิงก์ข้างล่างเลย

GitHub - safebuffer/CVE-2024-32002: CVE-2024-32002 RCE PoC
CVE-2024-32002 RCE PoC. Contribute to safebuffer/CVE-2024-32002 development by creating an account on GitHub.

Solution

มันมี patch เอาไว้แล้ว แค่เราไป update git ก็พอแล้วฮะ

check version

patch version คือตั้งแต่ v2.39.4 ซึ่งเรา check ว่า git ของเราเป็น version ไหน ด้วยคำสั่ง

git -v

ของผมก่อนหนานี้จะเป็น “git version 2.39.3 (Apple Git-146)” ก็แปลว่าต้อง update แล้วแหละ

Update git ใน MacOS

สามารถเลือกใช้ homebrew เพื่อติดตั้งและ update git ได้ง่ายๆ เลยฮะ

# install git
brew install git

# symlink git 
brew unlink git && brew link git

อ่านเพิ่มเติมเรื่อง homebrew ได้ที่บล็อกข้างล่างนี้เลย

Homebrew - ที่เดียวครบ จบทุก package
Homebrew เป็น package manager สำหรับ MacOS และ Linux โปรแกรมหรือ package ที่คุ้นหูกันส่วนใหญ่จะสามารถหาได้ที่นี่

Update git ใน Windows

เข้าไปอ่านขั้นตอนการติดตั้งจากลิงก์ข้างล่างนี้ฮะ

Git - Downloading Package

References