CVE-2024-50338

Yüksek

Açıklama

Git Credential Manager (GCM), Windows, macOS ve Linux üzerinde çalışan, .NET üzerine inşa edilmiş güvenli bir Git kimlik bilgisi yardımcısıdır. Git kimlik bilgisi protokolü, standart girdi/çıktı üzerinden metin tabanlıdır ve `key=value` biçimindeki anahtar-değer çiftlerinden oluşan bir dizi satırdan meydana gelir. Git'in belgeleri, NUL (`\0`) karakterinin ve satır sonlarının anahtarların veya değerlerin parçası olarak kullanılmasını kısıtlar. Git standart girdiden okurken, `strbuf_getdelim_strip_crlf` çağrısında bulunan `strbuf_getline` çağrısı sayesinde kimlik bilgisi protokolü için hem LF hem de CRLF'yi satır sonu karakteri olarak kabul eder. Git ayrıca, satır besleme karakterinin (LF, `\n`) varlığını kontrol ederek değerde satır sonu bulunmadığını doğrular ve bu durumda hata verir. Bu, hem LF hem de CRLF türü satır sonlarını yakalar. Git Credential Manager, standart girdi akışını satır satır okumak ve `key=value` kimlik bilgisi protokolü biçimini ayrıştırmak için .NET standart kütüphanesindeki `StreamReader` sınıfını kullanır. `ReadLineAsync` yönteminin uygulaması LF, CRLF ve CR'yi geçerli satır sonları olarak kabul eder. Bu, .NET'in tek bir CR'yi geçerli bir satır sonu karakteri olarak kabul ettiği, Git'in ise kabul etmediği anlamına gelir. Git ile GCM arasındaki bu satır sonu işleme uyumsuzluğu, bir saldırganın kötü amaçlı bir uzak URL oluşturabilmesi anlamına gelir. Bir kullanıcı kimlik doğrulama gerektiren kötü amaçlı bir depoyu klonladığında veya başka bir şekilde onunla etkileşime girdiğinde, saldırgan başka bir Git uzak deposuna ait kimlik bilgilerini ele geçirebilir. Saldırı, `--recursive` klonlama seçeneği kullanılırken alt modülleri içeren depolardan klonlama yapıldığında da şiddetlenir; çünkü kullanıcı alt modül uzak URL'lerini önceden inceleyemez. Bu sorun 2.6.1 sürümünde giderilmiştir ve tüm kullanıcıların yükseltme yapması önerilir. Yükseltme yapamayan kullanıcılar yalnızca güvenilir uzak depolarla etkileşime girmeli ve bu alt modülleri klonlamadan önce herhangi bir alt modül URL'sini incelemeye olanak tanımak için `--recursive` ile klonlama yapmamalıdır.

ÖnemYüksek
CVSS7.4
İstismar olasılığı—
ÜrünGit-credential-manager
Yayın14 Oca 2025
İlk görülme14 Oca 2025

Nasıl düzeltilir

Güncelleyin
  • git-credential-manager2.6.1 ya da sonraki bir sürüm

Etkilenen ürünler

ÜrünEtkilenen sürümlerDüzeltildiği sürüm
git-credential-managerNuGetv < 2.6.12.6.1

Sürümünüzü kontrol edin

Ürünü seçin ve kullandığınız sürümü yazın; sürümün etkilenen aralıkta olup olmadığını görün.

Intelligence 360 paketinde

Attack Surface Management

Alan adlarınıza bağlı varlıkları, bu varlıklarda çalışan teknolojileri ve bilinen zafiyetleri tek listede görün.

CVE-2024-50338 · Git-credential-manager · Dark Radar