Kerentanan dalam Git apabila mengklon submodul dan menggunakan shell git

Keluaran pembetulan sistem kawalan sumber teragih Git 2.38.1, 2.30.6, 2.31.5, 2.32.4, 2.33.5, 2.34.5, 2.35.5, 2.36.3 dan 2.37.4 telah diterbitkan, yang membetulkan dua kelemahan , yang muncul apabila menggunakan arahan "git clone" dalam mod "β€”recurse-submodules" dengan repositori yang tidak ditanda dan apabila menggunakan mod interaktif "git shell". Anda boleh menjejaki keluaran kemas kini pakej dalam pengedaran pada halaman Debian, Ubuntu, RHEL, SUSE/openSUSE, Fedora, Arch, FreeBSD.

  • CVE-2022-39253 - Kerentanan membenarkan penyerang yang mengawal kandungan repositori yang diklonkan untuk mendapatkan akses kepada data sulit pada sistem pengguna dengan meletakkan pautan simbolik kepada fail yang diminati dalam direktori $GIT_DIR/objek bagi repositori yang diklon. Masalah hanya muncul apabila mengklon secara setempat (dalam mod "--local", digunakan apabila sasaran dan data sumber klon berada dalam partition yang sama) atau apabila mengklon repositori berniat jahat yang dibungkus sebagai submodul dalam repositori lain (contohnya, apabila secara rekursif termasuk submodul dengan perintah "git clone" --recurse-submodules").

    Kerentanan ini disebabkan oleh fakta bahawa dalam mod pengklonan "--local", git memindahkan kandungan $GIT_DIR/objek ke direktori sasaran (mewujudkan pautan keras atau salinan fail), melakukan penyahrujukan pautan simbolik (iaitu, sebagai hasilnya, pautan bukan simbolik disalin ke direktori sasaran , tetapi terus ke fail yang ditujukan pautan). Untuk menyekat kelemahan, keluaran baharu git melarang pengklonan repositori dalam mod "--local" yang mengandungi pautan simbolik dalam direktori $GIT_DIR/objek. Selain itu, nilai lalai parameter protocol.file.allow telah ditukar kepada "pengguna", yang menjadikan operasi pengklonan menggunakan protokol file:// tidak selamat.

  • CVE-2022-39260 - Limpahan integer dalam fungsi split_cmdline() yang digunakan dalam arahan "git shell". Masalahnya boleh digunakan untuk menyerang pengguna yang mempunyai "git shell" sebagai shell log masuk mereka dan mempunyai mod interaktif didayakan (fail $HOME/git-shell-commands telah dibuat). Eksploitasi kelemahan boleh membawa kepada pelaksanaan kod sewenang-wenangnya pada sistem apabila menghantar arahan yang direka khas lebih besar daripada 2 GB dalam saiz.

Sumber: opennet.ru

Tambah komen