Kerentanan dalam Git untuk Cygwin yang membolehkan anda mengatur pelaksanaan kod

Kerentanan kritikal telah dikenal pasti dalam Git (CVE-2021-29468), yang muncul hanya apabila membina untuk persekitaran Cygwin (perpustakaan untuk meniru API Linux asas pada Windows dan satu set program Linux standard untuk Windows). Kerentanan membolehkan kod penyerang dilaksanakan apabila mendapatkan semula data (“git checkout”) daripada repositori yang dikawal oleh penyerang. Masalahnya telah diperbaiki dalam pakej git 2.31.1-2 untuk Cygwin. Dalam projek Git utama, masalahnya masih belum diselesaikan (tidak mungkin seseorang membina git untuk Cygwin dengan tangan mereka sendiri, dan bukannya menggunakan pakej siap sedia).

Kerentanan disebabkan oleh pemprosesan persekitaran Cygwin sebagai sistem seperti Unix dan bukannya Windows, yang mengakibatkan tiada sekatan ke atas penggunaan aksara '\' dalam laluan, manakala dalam Cygwin, seperti dalam Windows, watak ini boleh digunakan untuk memisahkan direktori. Akibatnya, dengan mencipta repositori yang diubah suai khas yang mengandungi pautan simbolik dan fail dengan aksara garis miring ke belakang, adalah mungkin untuk menimpa fail sewenang-wenangnya apabila memuatkan repositori ini ke dalam Cygwin (kelemahan yang serupa telah diperbaiki dalam Git untuk Windows pada 2019). Dengan memperoleh keupayaan untuk menulis ganti fail, penyerang boleh mengatasi panggilan cangkuk dalam git dan menyebabkan kod sewenang-wenangnya dilaksanakan pada sistem.

Sumber: opennet.ru

Tambah komen