CVE-2026-47734
Açıklama
Dulwich, Git dosya formatlarının ve protokollerinin saf Python ile uygulanmış bir versiyonudur. Versiyon 0.1.0'dan başlayarak 1.2.5 versiyonundan önceye kadar, push erişimine sahip bir istemci, delta başlığı devasa bir dest_size beyan eden, özel olarak hazırlanmış küçük bir thin pack (~174 bayt) gönderebilir. Dulwich bunu add_thin_pack / apply_delta aracılığıyla aldığında, alınan gerçek baytlarla hiçbir ilişkisi olmaksızın, saldırgan tarafından kontrol edilen bu boyuta dayanarak yüzlerce MB bellek tahsis eder. git-receive-pack özelliğini sunan (yani push işlemlerini kabul eden) - örneğin dulwich.server işlevselliği, HTTP smart server veya ReceivePackHandler üzerine kurulu herhangi bir yapı üzerinden çalışan - Dulwich tabanlı bir Git sunucusu işleten operatörler etkilenmektedir. Sorun 1.2.5 versiyonunda düzeltilmiştir. add_thin_pack artık bir max_input_size anahtar kelimesini (bayt cinsinden; 0/None = sınırsız, git semantiğine uygun şekilde) kabul etmektedir ve ReceivePackHandler, depo konfigürasyonundan receive.maxInputSize değerini okuyup iletmektedir. Ağ okumaları sayılmakta ve sınır aşıldığında - git index-pack --max-input-size komutuna eşdeğer şekilde - bir PackInputTooLarge istisnası oluşturulmaktadır. Kullanıcılar Dulwich 1.2.5 veya daha yeni bir sürüme yükseltmeli ve sunucu depo konfigürasyonundaki receive.maxInputSize değerini ortamları için makul bir sınıra ayarlamalıdır. Yamalanmamış versiyonlarda receive.maxInputSize'ın hiçbir etkisi yoktur, bu nedenle geçici çözüm olarak kullanılamaz. Yükseltme yapılana kadar operatörler, dulwich-receive-pack (push) erişimini yalnızca güvenilir, kimliği doğrulanmış istemcilerle sınırlandırmalı veya sadece fetch hizmeti vermesi gereken sunucularda tamamen devre dışı bırakmalı ya da kötü niyetli bir push işleminin tüm ana bilgisayarı çökertmesi yerine sonlandırılması için sunucuyu işletim sistemi düzeyinde bir bellek sınırı (örneğin ulimit, cgroups/MemoryMax veya bir konteyner bellek sınırı) altında çalıştırmalıdır.
Nasıl düzeltilir
- dulwich1.2.5 ya da sonraki bir sürüm
Etkilenen ürünler
| Ürün | Etkilenen sürümler | Düzeltildiği sürüm |
|---|---|---|
| dulwichPyPI | 0.1.0 ≤ v < 1.2.5 | 1.2.5 |
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.
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.