
Berbagai kerentanan keamanan telah terungkap di GitHub Desktop serta proyek terkait Git lainnya yang, jika berhasil dieksploitasi, dapat memungkinkan penyerang mendapatkan akses tidak sah ke kredensial Git pengguna.
“Git mengimplementasikan protokol yang disebut Git Credential Protocol untuk mengambil kredensial dari pembantu kredensial,” kata peneliti Keamanan GMO Flatt Ry0taK, yang menemukan kelemahan tersebut, dalam analisis yang diterbitkan Minggu. “Karena penanganan pesan yang tidak tepat, banyak proyek yang rentan terhadap kebocoran kredensial dalam berbagai cara.”

Daftar kerentanan yang teridentifikasi adalah sebagai berikut –
- CVE-2025-23040 (Skor CVSS: 6.6) – URL jarak jauh yang dibuat secara berbahaya dapat menyebabkan kebocoran kredensial di GitHub Desktop
- CVE-2024-50338 (Skor CVSS: 7.4) – Karakter Carriage-return di URL jarak jauh memungkinkan repositori berbahaya membocorkan kredensial di Git Credential Manager
- CVE-2024-53263 (Skor CVSS: 8.5) – Git LFS mengizinkan pengambilan kredensial melalui URL HTTP yang dibuat
- CVE-2024-53858 (Skor CVSS: 6.5) – Kloning repositori rekursif di GitHub CLI dapat membocorkan token autentikasi ke host submodul non-GitHub
Meskipun pembantu kredensial dirancang untuk mengembalikan pesan yang berisi kredensial yang dipisahkan oleh karakter kontrol baris baru (“\n”), penelitian menemukan bahwa GitHub Desktop rentan terhadap kasus penyelundupan pengangkutan kembali (“\r”) dimana memasukkan karakter ke dalam URL buatan dapat membocorkan kredensial ke host yang dikendalikan penyerang.
“Dengan menggunakan URL perusak yang berbahaya, permintaan kredensial yang berasal dari Git dapat disalahartikan oleh Github Desktop sehingga akan mengirimkan kredensial untuk host yang berbeda dari host yang saat ini berkomunikasi dengan Git sehingga memungkinkan terjadinya eksfiltrasi rahasia,” kata GitHub. dalam sebuah penasehat.
Kelemahan serupa juga telah diidentifikasi dalam paket NuGet Git Credential Manager, yang memungkinkan kredensial diekspos ke host yang tidak terkait. Git LFS, juga, ditemukan tidak memeriksa karakter kontrol yang tertanam, sehingga menghasilkan injeksi carriage return line feed (CRLF) melalui URL HTTP yang dibuat.
Di sisi lain, kerentanan yang berdampak pada GitHub CLI memanfaatkan fakta bahwa token akses dikonfigurasi untuk dikirim ke host selain github[.]com dan ghe[.]com selama variabel lingkungan GITHUB_ENTERPRISE_TOKEN, GH_ENTERPRISE_TOKEN, dan GITHUB_TOKEN disetel, dan CODESPACES disetel ke “true” dalam kasus yang terakhir.
“Meskipun kedua variabel terkait perusahaan tidak umum, variabel lingkungan CODESPACES selalu disetel ke true saat dijalankan di GitHub Codespaces,” kata Ry0taK. “Jadi, mengkloning repositori berbahaya di GitHub Codespaces menggunakan GitHub CLI akan selalu membocorkan token akses ke host penyerang.”
Eksploitasi yang berhasil atas kelemahan yang disebutkan di atas dapat menyebabkan pihak ketiga yang jahat menggunakan token autentikasi yang bocor untuk mengakses sumber daya yang memiliki hak istimewa.

Menanggapi pengungkapan tersebut, kebocoran kredensial yang berasal dari penyelundupan pengangkutan kembali telah ditangani oleh proyek Git sebagai kerentanan mandiri (CVE-2024-52006, skor CVSS: 2.1) dan ditangani dalam versi v2.48.1.
“Kerentanan ini terkait dengan CVE-2020-5260, tetapi bergantung pada perilaku di mana karakter pengangkutan tunggal ditafsirkan oleh beberapa implementasi pembantu kredensial sebagai baris baru,” insinyur perangkat lunak GitHub Taylor Blau mengatakan dalam sebuah posting tentang CVE-2024-52006.
Versi terbaru juga menambal CVE-2024-50349 (skor CVSS: 2.1), yang dapat dieksploitasi oleh musuh untuk membuat URL yang berisi escape sequence untuk mengelabui pengguna agar memberikan kredensial mereka ke situs sewenang-wenang.
Pengguna disarankan untuk memperbarui ke versi terbaru untuk melindungi dari kerentanan ini. Jika patching langsung bukan merupakan pilihan, risiko yang terkait dengan kelemahan tersebut dapat dikurangi dengan menghindari menjalankan git clone dengan –recurse-submodules terhadap repositori yang tidak tepercaya. Disarankan juga untuk tidak menggunakan pembantu kredensial dengan hanya mengkloning repositori yang tersedia untuk umum.