Alt modülleri klonlarken ve git kabuğunu kullanırken Git'teki güvenlik açıkları

Dağıtılmış kaynak kontrol sistemi 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 ve 2.37.4'ün düzeltici sürümleri yayımlandı. "-recurse-submodules" modunda "git clone" komutunu kontrol edilmemiş depolarla kullanırken ve "git kabuğu" etkileşimli modunu kullanırken ortaya çıkan iki güvenlik açığı. Paket güncellemelerinin dağıtımlardaki yayınlarını Debian, Ubuntu, RHEL, SUSE/openSUSE, Fedora, Arch, FreeBSD sayfalarından takip edebilirsiniz.

  • CVE-2022-39253 - Güvenlik açığı, klonlanmış veri deposunun içeriğini kontrol eden bir saldırganın, klonlanmış veri deposunun $GIT_DIR/objects dizinine ilgi duyulan dosyalara sembolik bağlantılar yerleştirerek kullanıcının sistemindeki gizli verilere erişmesine olanak tanır. Sorun yalnızca yerel olarak klonlama sırasında ("--local" modunda, klonun hedef ve kaynak verileri aynı bölümde olduğunda kullanılır) veya başka bir depoda alt modül olarak paketlenmiş kötü amaçlı bir depoyu klonlarken (örneğin, "git clone" komutu --recurse-submodules" ile alt modülleri yinelemeli olarak eklerken).

    Güvenlik açığı, "--local" klonlama modunda git'in $GIT_DIR/objects içeriğini hedef dizine aktarması (sabit bağlantılar veya dosyaların kopyaları oluşturarak), sembolik bağlantıların referansını kaldırması (ör. Sonuç olarak, sembolik olmayan bağlantılar hedef dizine kopyalanır, ancak doğrudan bağlantıların işaret ettiği dosyalara kopyalanır). Güvenlik açığını engellemek için git'in yeni sürümleri, $GIT_DIR/objects dizinindeki sembolik bağlantıları içeren depoların "--local" modunda klonlanmasını yasaklıyor. Ek olarak, protokol.file.allow parametresinin varsayılan değeri "kullanıcı" olarak değiştirildi, bu da file:// protokolü kullanılarak yapılan klonlama işlemlerini güvensiz hale getiriyor.

  • CVE-2022-39260 - "git Shell" komutunda kullanılan split_cmdline() işlevinde tamsayı taşması. Sorun, oturum açma kabuğu olarak "git kabuğu"na sahip ve etkileşimli modu etkinleştirilmiş kullanıcılara saldırmak için kullanılabilir (bir $HOME/git-shell-commands dosyası oluşturulmuştur). Güvenlik açığından yararlanılması, boyutu 2 GB'tan büyük özel olarak tasarlanmış bir komut gönderilirken sistem üzerinde rastgele kod çalıştırılmasına yol açabilir.

Kaynak: opennet.ru

Yorum ekle