dağıtılmış kaynak kontrol sistemi 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 ve 2.14.62.24.1'ün düzeltici sürümleri .XNUMX, bir saldırganın dosya sistemindeki rastgele yolları yeniden yazmasına, uzaktan kod yürütmesini düzenlemesine veya ".git/" dizinindeki dosyaların üzerine yazmasına olanak tanıyan güvenlik açıklarını düzeltti. Çalışanlar tarafından tespit edilen sorunların çoğu
Microsoft Güvenlik Yanıt Merkezi'ne göre, sekiz güvenlik açığından beşi platforma özgüdür. Windows.
- — akış komutu “özellik dışa aktarma işaretleri=yol” denetlenmeyen giriş verileriyle "git fast-import" işlemi gerçekleştirilirken dosya sistemindeki rastgele yolların üzerine yazmak için kullanılabilen rastgele dizinlere etiket yazın.
- - komut satırı argümanlarından hatalı kaçış ssh:// URL'sini kullanarak özyinelemeli klonlama sırasında saldırgan kodunun uzaktan yürütülmesine. Özellikle, ters eğik çizgiyle biten bağımsız değişkenlerden kaçış (örneğin, "test \") yanlış ele alındı. Bu durumda, bir argümanı çift tırnakla çerçevelerken, son alıntıdan kaçınıldı, bu da seçeneklerinizin komut satırında değiştirilmesini organize etmeyi mümkün kıldı.
- — Ortamda alt modülleri özyinelemeli olarak kopyalarken (“clone —recurse-submodules”) Windows belirli koşullar altında aynı git dizininin kullanımını iki kez tetikler (.git, git~1, git~2 ve git~N, NTFS'de tek bir dizin olarak tanınır, ancak bu durum yalnızca git~1 için test edilmiştir), bu da organize etmek için kullanılabilir ".git" dizinine yazılıyor. Örneğin bir saldırgan, kodunun yürütülmesini organize etmek için kendi betiğini .git/config dosyasındaki ödeme sonrası işleyici aracılığıyla değiştirebilir.
- — yollardaki sürücü harfi adlarının işleyicisi Windows "C:\" gibi yollar çevrilirken, yalnızca tek harfli Latin tanımlayıcıların değiştirilmesi amaçlanmıştı, ancak "alt harf:yol" yoluyla atanan sanal disklerin oluşturulması olasılığı dikkate alınmamıştı. Bu tür yollar mutlak yollar olarak değil, göreceli yollar olarak işleniyordu; bu da kötü amaçlı bir depoyu klonlarken, çalışma dizini ağacının dışındaki rastgele bir dizine yazmaya olanak sağlıyordu (örneğin, disk adında sayılar veya Unicode karakterler kullanıldığında - "1:\what\the\hex.txt" veya "ä:\tschibät.sch").
- - platformda çalışırken Windows NTFS'de dosya adına ":stream-name:stream-type" bayrağı eklenerek oluşturulan alternatif veri akışlarını kullanma, Kötü amaçlı bir depoyu klonlarken ".git/" dizinindeki dosyaların üzerine yazın. Örneğin, NTFS'deki ".git::$INDEX_ALLOCATION" adı, ".git" dizinine geçerli bir bağlantı olarak değerlendiriliyordu.
- — WSL ortamında Git kullanırken (Windows Alt sistem LinuxÇalışma dizinine erişirken NTFS'de ad manipülasyonuna karşı koruma (FAT ad çevirisi yoluyla saldırılar mümkündü; örneğin, ".git"e "git~1" dizini aracılığıyla erişilebilir).
- -
platformdaki ".git/" dizinindeki girdiler Windows İsimlerinde ters eğik çizgi bulunan (örneğin "a\b") dosyaları içeren kötü amaçlı depoları klonlarken, bu durum Unix/ sistemlerinde izin verilen bir durumdur.Linuxancak bu, şu yolun bir parçası olarak algılanmaktadır: Windows. - — hedefli saldırıları organize etmek için alt modül adlarının yetersiz kontrolü kullanılabilir; bu, yinelemeli olarak klonlanırsa potansiyel olarak Saldırganın kodunu yürütmek için. Git, başka bir alt modülün dizini içinde bir alt modül dizini oluşturulmasını engellemedi; bu çoğu durumda yalnızca karışıklığa yol açacaktı, ancak yinelemeli klonlama işlemi sırasında başka bir modülün içeriğinin üzerine yazılmasını potansiyel olarak engellemedi (örneğin, alt modül dizinleri) "hippo" ve "hippo/hooks", ".git/modules/hippo/" ve ".git/modules/hippo/hooks/" olarak yerleştirilir ve hippo'daki hooks dizini, tetiklenen kancaları barındırmak için ayrı ayrı kullanılabilir.
kullanıcılar Windows Git sürümünüzü acilen yükseltmeniz ve yükseltme tamamlanana kadar güvenilmeyen depoları klonlamaktan kaçınmanız önerilir. Acil bir Git güncellemesi henüz mevcut değilse, saldırı riskini azaltmak için güvenilmeyen depolarla "git clone --recurse-submodules" ve "git submodule update" komutlarını çalıştırmamanız, güvenilmeyen giriş akışlarıyla "git fast-import" kullanmamanız ve depoları NTFS tabanlı bölümlere klonlamamanız önerilir.
Daha fazla güvenlik sağlamak amacıyla, yeni sürümler .gitmodules dosyasında "submodule.{name}.update=!command" biçimindeki yapıların kullanımını da yasaklar. Dağıtımlar için paket güncellemelerinin yayınlandığını sayfalardan takip edebilirsiniz. ,, , , , , , .
Kaynak: opennet.ru
