Dua kerentanan di Git yang dapat menyebabkan eksekusi kode jarak jauh

Patch Git 2.39.1, 2.38.3, 2.37.5, 2.36.4, 2.35.6, 2.34.6, 2.33.6, 2.32.5, 2.31.6, dan 2.30.7 telah dirilis untuk sistem manajemen kode sumber terdistribusi Git. Patch ini mengatasi dua kerentanan yang memungkinkan eksekusi kode kustom pada sistem pengguna saat menggunakan perintah "git archive" dan bekerja dengan repositori eksternal yang tidak tepercaya. Kerentanan ini disebabkan oleh kesalahan dalam format kode komit dan penguraian berkas ".gitattributes". Saat memproses repositori eksternal, kesalahan ini dapat menyebabkan penulisan memori heap di luar batas dan pembacaan memori yang sembarangan.

Kedua kerentanan tersebut teridentifikasi selama audit keamanan basis kode Git yang dilakukan oleh X41 atas permintaan Open Source Technology Improvement Fund (OSTIF), sebuah yayasan yang didirikan untuk memperkuat keamanan proyek sumber terbuka. Selain dua isu kritis yang dibahas di bawah ini, audit tersebut juga menemukan satu kerentanan serius, satu kerentanan sedang, dan empat isu jinak. Dua puluh tujuh rekomendasi untuk meningkatkan keamanan basis kode juga dikeluarkan.

  • CVE-2022-41903: Luapan integer terjadi dalam kode pemformatan informasi komit saat menangani nilai offset besar dalam operator padding seperti "%<(", "%<|(", "%>(", "%>>(", dan "%><()"). Luapan integer terjadi dalam fungsi format_and_pad_commit() karena penggunaan tipe int untuk variabel size_t, yang digunakan untuk menentukan ukuran offset blok yang disalin saat memanggil memcpy().

    Kerentanan ini muncul baik melalui pemanggilan langsung dengan parameter pemformatan yang dirancang khusus (misalnya, saat menjalankan "git log --format=...") maupun melalui penerapan pemformatan secara tidak langsung selama eksekusi perintah "git archive" di repositori yang dikendalikan penyerang. Dalam kasus terakhir, pengubah pemformatan ditentukan melalui parameter export-subst dalam berkas ".gitattributes", yang dapat ditempatkan oleh penyerang di repositori mereka. Kerentanan ini dapat dieksploitasi untuk membaca dan menulis memori heap sembarangan, yang menyebabkan eksekusi kode berbahaya saat bekerja dengan repositori yang tidak tepercaya.

  • CVE-2022-23521: Luapan integer terjadi saat mengurai konten berkas ".gitattributes" di sebuah repositori. Hal ini terjadi saat memproses pola jalur berkas dalam jumlah yang sangat besar atau sejumlah besar atribut dengan satu pola, serta saat mengurai nama atribut yang sangat besar. Masalah ini dapat dimanfaatkan untuk membaca dan menulis lokasi heap yang sembarangan dan menyebabkan eksekusi kode berbahaya saat bekerja dengan repositori yang tidak tepercaya, tempat penyerang dapat menempatkan berkas .gitattributes yang dirancang khusus dan memastikan pengindeksannya.

Informasi mengenai pembaruan paket dalam distribusi dapat dilacak pada halaman-halaman berikut: Debian, UbuntuGentoo, RHEL, SUSE, Arch, FreeBSD, NetBSD. Untuk mengurangi risiko serangan akibat kegagalan menginstal pembaruan tepat waktu, kami menyarankan untuk menghindari bekerja dengan repositori yang tidak tepercaya dan menggunakan perintah "git archive". Penting untuk diingat bahwa perintah "git archive" dapat dijalankan secara implisit, misalnya, dari daemon git. Untuk menonaktifkan "git archive" di daemon git, ubah parameter daemon.uploadArch menggunakan perintah "git config --global daemon.uploadArch false."

Selain itu, satu kerentanan lagi (CVE-2022-41953) dapat ditemukan di Git untuk produk. Windows, yang memungkinkan eksekusi kode saat mengkloning repositori eksternal yang tidak tepercaya melalui GUI. Masalah ini disebabkan oleh fakta bahwa GUI Git untuk Windows Setelah operasi "checkout", secara otomatis akan dijalankan beberapa perintah pasca-pemrosesan, seperti menjalankan program pemeriksa ejaan untuk memeriksa ejaan, sementara jalur pencarian untuk file pemeriksa ejaan juga mencakup pohon kerja yang dikloning (serangan tersebut bermuara pada penambahan pemeriksa ejaan ke pohon kerja repositori).

Sumber: opennet.ru

Beli hosting yang andal untuk situs dengan perlindungan DDoS, server VPS VDS πŸ”₯ Beli hosting website andal dengan perlindungan DDoS, server VPS VDS | ProHoster