Pembaruan Git dengan 8 kerentanan diperbaiki

Diterbitkan rilis korektif dari sistem kontrol sumber terdistribusi Git 2.24.1, 2.23.1, 2.22.2, 2.21.1, 2.20.2, 2.19.3, 2.18.2, 2.17.3, 2.16.6, 2.15.4 dan 2.14.62.24.1 .XNUMX, yang memperbaiki kerentanan yang memungkinkan penyerang menulis ulang jalur sewenang-wenang di sistem file, mengatur eksekusi kode jarak jauh, atau menimpa file di direktori “.git/”. Sebagian besar masalah diidentifikasi oleh karyawan
Pusat Respons Keamanan Microsoft, lima dari delapan kerentanan khusus untuk platform Windows.

  • CVE-2019-1348 — perintah streaming “fitur ekspor-tanda=jalur”memungkinkan tulis label ke direktori arbitrer, yang dapat digunakan untuk menimpa jalur arbitrer dalam sistem file saat melakukan operasi "git fast-import" dengan data masukan yang tidak dicentang.
  • CVE-2019-1350 - pelolosan argumen baris perintah yang salah bisa memimpin untuk eksekusi jarak jauh kode penyerang selama kloning rekursif menggunakan URL ssh://. Secara khusus, pelolosan argumen yang diakhiri dengan garis miring terbalik (misalnya, “test \”) ditangani secara tidak benar. Dalam hal ini, ketika membingkai argumen dengan tanda kutip ganda, tanda kutip terakhir diloloskan, yang memungkinkan untuk mengatur substitusi opsi Anda pada baris perintah.
  • CVE-2019-1349 — ketika mengkloning submodul secara rekursif (“clone —recurse-submodules”) di lingkungan Windows dalam kondisi tertentu bisa jadi memicu penggunaan direktori git yang sama dua kali (.git, git~1, git~2 dan git~N dikenali sebagai satu direktori di NTFS, tetapi situasi ini hanya diuji untuk git~1), yang dapat digunakan untuk mengatur menulis ke direktori ".git". Untuk mengatur eksekusi kodenya, penyerang, misalnya, dapat mengganti skripnya melalui handler pasca-checkout di file .git/config.
  • CVE-2019-1351 — pengendali nama drive berhuruf di jalur Windows saat menerjemahkan jalur seperti “C:\” dirancang hanya untuk menggantikan pengidentifikasi Latin satu huruf, namun tidak memperhitungkan kemungkinan membuat drive virtual yang ditetapkan melalui “subst letter:path” . Jalur tersebut diperlakukan bukan sebagai jalur absolut, tetapi sebagai jalur relatif, yang memungkinkan, saat mengkloning repositori berbahaya, untuk mengatur catatan dalam direktori arbitrer di luar pohon direktori kerja (misalnya, saat menggunakan angka atau karakter unicode di disk nama - “1:\apa\the\ hex.txt" atau "ä:\tschibät.sch").
  • CVE-2019-1352 — saat bekerja pada platform Windows, penggunaan aliran data alternatif di NTFS, dibuat dengan menambahkan atribut “:stream-name:stream-type” ke nama file, diizinkan menimpa file di direktori ".git/" saat mengkloning repositori berbahaya. Misalnya, nama ".git::$INDEX_ALLOCATION" di NTFS diperlakukan sebagai tautan valid ke direktori ".git".
  • CVE-2019-1353 — saat menggunakan Git di lingkungan WSL (Subsistem Windows untuk Linux) saat mengakses direktori kerja tidak digunakan perlindungan terhadap manipulasi nama di NTFS (serangan melalui terjemahan nama FAT dimungkinkan, misalnya, “.git” dapat diakses melalui direktori “git~1”).
  • CVE-2019-1354 -
    kesempatan menulis ke direktori ".git/" pada platform Windows ketika mengkloning repositori berbahaya yang berisi file dengan garis miring terbalik pada namanya (misalnya, "a\b"), yang dapat diterima di Unix/Linux, namun diterima sebagai bagian dari jalur di Windows.

  • CVE-2019-1387 — pemeriksaan nama submodul yang tidak memadai dapat digunakan untuk mengatur serangan yang ditargetkan, yang, jika dikloning secara rekursif, berpotensi bisa memimpin untuk mengeksekusi kode penyerang. Git tidak mencegah pembuatan direktori submodul di dalam direktori submodul lain, yang dalam banyak kasus hanya akan menyebabkan kebingungan, namun tidak berpotensi mencegah isi modul lain ditimpa selama proses kloning rekursif (misalnya, direktori submodul "hippo" dan "hippo/hooks" ditempatkan sebagai " .git/modules/hippo/" dan ".git/modules/hippo/hooks/", dan direktori hooks di hippo dapat digunakan secara terpisah untuk menampung hook yang dipicu.

Pengguna Windows disarankan untuk segera memperbarui versi Git mereka, dan tidak mengkloning repositori yang belum terverifikasi hingga pembaruan dilakukan. Jika belum memungkinkan untuk segera memperbarui versi Git, maka untuk mengurangi risiko serangan, disarankan untuk tidak menjalankan “git clone —recurse-submodules” dan “git submodule update” dengan repositori yang tidak dicentang, jangan menggunakan “git fast-import” dengan aliran input yang tidak dicentang, dan tidak mengkloning repositori ke partisi berbasis NTFS.

Untuk keamanan tambahan, rilis baru juga melarang penggunaan konstruksi bentuk "submodule.{name}.update=!command" di .gitmodules. Untuk distribusi, Anda dapat melacak rilis pembaruan paket di halaman Debian,Ubuntu, RHEL, SUSE/bukaSUSE, Fedora, Lengkungan, ALT, FreeBSD.

Sumber: opennet.ru

Tambah komentar