Kerentanan di Git yang memungkinkan Anda menimpa file atau mengeksekusi kode Anda sendiri

Rilis korektif Git 2.40.1, 2.39.3, 2.38.5, 2.37.7, 2.36.6, 2.35.8, 2.34.8, 2.33.8, 2.32.7, 2.31.8 dan 2.30.9 telah diterbitkan .XNUMX , yang memperbaiki lima kerentanan. Anda dapat mengikuti rilis pembaruan paket dalam distribusi di halaman Debian, Ubuntu, RHEL, SUSE/openSUSE, Fedora, Arch, FreeBSD. Sebagai solusi untuk melindungi dari kerentanan, disarankan untuk menghindari menjalankan perintah "git apply --reject" saat bekerja dengan tambalan eksternal yang belum teruji, dan periksa konten $GIT_DIR/config sebelum menjalankan "git submodule deinit", "git config --rename-section" dan " git config --remove-section" saat menangani repositori yang tidak tepercaya.

Kerentanan CVE-2023-29007 memungkinkan penggantian pengaturan dalam file konfigurasi $GIT_DIR/config, yang dapat digunakan untuk mengeksekusi kode dalam sistem dengan menentukan jalur ke file yang dapat dieksekusi dalam arahan core.pager, core.editor, dan core.sshCommand. Kerentanan disebabkan oleh kesalahan logika yang menyebabkan nilai konfigurasi yang sangat panjang dapat dianggap sebagai awal dari bagian baru saat mengganti nama atau menghapus bagian dari file konfigurasi. Dalam praktiknya, penggantian nilai eksploitasi dapat dicapai dengan menentukan URL submodul yang sangat panjang yang disimpan ke file $GIT_DIR/config selama inisialisasi. URL ini dapat diartikan sebagai pengaturan baru saat mencoba menghapusnya melalui "git submodule deinit".

Kerentanan CVE-2023-25652 memungkinkan penimpaan konten file di luar pohon kerja saat tambalan yang dibuat khusus diproses oleh perintah "git apply --reject". Jika Anda mencoba menjalankan tambalan berbahaya dengan perintah "git apply" yang mencoba menulis ke file melalui tautan simbolik, operasi akan ditolak. Di Git 2.39.1, perlindungan manipulasi symlink telah diperluas untuk memblokir tambalan yang membuat symlink dan mencoba menulisnya. Inti dari kerentanan yang dipertimbangkan adalah bahwa Git tidak memperhitungkan bahwa pengguna dapat menjalankan perintah "git apply -reject" untuk menulis bagian tambalan yang ditolak sebagai file dengan ekstensi ".rej", dan penyerang dapat gunakan kesempatan ini untuk menulis konten ke direktori arbitrer, sejauh izin saat ini mengizinkannya.

Selain itu, tiga kerentanan yang hanya muncul di platform Windows telah diperbaiki: CVE-2023-29012 (cari doskey.exe yang dapat dieksekusi di direktori kerja repositori saat menjalankan perintah "Git CMD", yang memungkinkan Anda mengatur eksekusi kode Anda pada sistem pengguna), CVE-2023 -25815 (buffer overflow saat memproses file pelokalan khusus dalam gettext) dan CVE-2023-29011 (kemungkinan mengganti file connect.exe saat bekerja melalui SOCKS5).

Sumber: opennet.ru

Tambah komentar