Kerentanan dalam Git yang membawa kepada kebocoran data dan menulis ganti

Tampalan Git 2.38.4, 2.37.6, 2.36.5, 2.35.7, 2.34.7, 2.33.7, 2.32.6, 2.31.7 dan 2.30.8 telah dikeluarkan untuk sistem kawalan sumber teragih. Tampalan ini menangani dua kelemahan yang mempengaruhi pengoptimuman pengklonan tempatan dan arahan "git apply". Anda boleh menjejaki keluaran kemas kini pakej untuk pengedaran ini pada halaman berikut: Debian, Ubuntu, RHEL, SUSE/openSUSE, Fedora, Arch, FreeBSD. Jika pemasangan kemas kini tidak dapat dilakukan, sebagai penyelesaian, kami mengesyorkan untuk mengelakkan operasi "klon git" dengan pilihan "--recurse-submodules" dengan repositori yang tidak dipercayai, dan tidak menggunakan arahan "git apply" dan "git am" dengan kod yang belum diuji.

  • Kerentanan CVE-2023-22490 membenarkan penyerang yang mengawal kandungan repositori klon untuk mendapatkan akses kepada data sensitif pada sistem pengguna. Dua kelemahan menyumbang kepada kemunculan kelemahan:

    Cacat pertama membolehkan, apabila bekerja dengan repositori yang direka khas, mencapai penggunaan pengoptimuman pengklonan tempatan walaupun menggunakan pengangkutan yang berinteraksi dengan sistem luaran.

    Kelemahan kedua membenarkan peletakan pautan simbolik dan bukannya direktori $GIT_DIR/objek, serupa dengan kerentanan CVE-2022-39253, pembetulan yang menyekat peletakan pautan simbolik dalam direktori $GIT_DIR/objek, tetapi tidak semak fakta bahawa direktori $GIT_DIR/objek itu sendiri mungkin merupakan pautan simbolik.

    Dalam mod pengklonan tempatan, git memindahkan $GIT_DIR/objek ke direktori sasaran dengan membatalkan rujukan symlinks, yang menyebabkan fail yang dirujuk terus disalin ke direktori sasaran. Beralih menggunakan pengoptimuman pengklonan tempatan untuk pengangkutan bukan tempatan membolehkan eksploitasi kelemahan apabila bekerja dengan repositori luaran (contohnya, secara rekursif termasuk submodul dengan arahan "git clone —recurse-submodules" boleh membawa kepada pengklonan repositori berniat jahat yang dibungkus sebagai submodul dalam repositori lain).

  • Kerentanan CVE-2023-23946 membenarkan kandungan fail di luar direktori kerja ditimpa dengan menghantar input yang direka khas kepada arahan "git apply". Sebagai contoh, serangan boleh dilakukan semasa pemprosesan tampalan yang disediakan oleh penyerang dalam "git apply". Untuk menyekat patch daripada mencipta fail di luar salinan kerja, "git apply" menyekat pemprosesan patch yang cuba menulis fail menggunakan symlinks. Tetapi ternyata perlindungan ini boleh dipintas dengan membuat pautan simbolik di tempat pertama.

Sumber: opennet.ru

Beli pengehosan yang boleh dipercayai untuk tapak dengan perlindungan DDoS, pelayan VPS VDS 🔥 Beli pengehosan laman web yang boleh dipercayai dengan perlindungan DDoS, pelayan VPS VDS | ProHoster