deniz.in

Piyasalar

Hava durumu

Hava durumu yükleniyor

· kaynak GitHub Blog

Git 2.56.1 ve backport'lar, klonlarda kod çalıştırmayı da içeren altı güvenlik açığını kapatıyor

Git projesi, özyinelemeli klonlar, birleştirmeler, binary patch'ler ve fast-import kapsamındaki altı güvenlik açığını giderdi; en ağırı, kötü niyetli bir depodan kod çalıştırılmasına imkân veriyor. Kullanıcılar Git 2.56.1'e veya yamalanmış bir backport'a geçmeli.

Git 2.56.1 ve backport'lar, klonlarda kod çalıştırmayı da içeren altı güvenlik açığını kapatıyor

Git projesi, çökmelerden bellek bozulmasından kötü niyetli bir depoyu özyinelemeli olarak klonlayan kişinin makinesinde kod çalıştırabilen bir hataya kadar uzanan altı güvenlik açığını gideren güvenlik güncellemeleri yayımladı. Sürümü duyuran GitHub Blog'a göre düzeltmeler Git 2.56.1'in yanı sıra Git 2.55.1, 2.54.1, 2.53.1, 2.52.1, 2.51.3 ve 2.50.2 backport'larında yer alıyor.

Özyinelemeli klonlar yoluyla kod çalıştırma

En ciddi sorun olan CVE-2026-111760, Git'in dosyaları bir çalışma ağacına yazmadan önce yolları doğrulama biçiminde yatıyor. Index işlemindeki bir tamsayı kesilmesi (integer truncation), çok uzun bir yolun bir isimle doğrulamadan geçip daha kısa bir isimle yazılabilmesine yol açıyor. GitHub Blog'a göre bir saldırgan bu uyuşmazlıktan yararlanarak bir alt modülün .git dosyasını, saldırganın seçtiği yapılandırma veya hook'lar içeren bir dizine giden sembolik bir bağlantıyla değiştirebiliyor; Git bunları özyinelemeli klon sırasında çalıştırabilir. Yamalanmış sürüm artık boyutları kesilmeye yol açacak kadar uzun index girdisi yollarını reddediyor.

Kötü niyetli sunucular ve hazırlanmış etiketler

CVE-2026-113408, protokol v2 üzerinden yürütülen klon el sıkışmasıyla ilgili. Boş bir depo klonlanırken sunucu, henüz doğmamış (unborn) bir dala işaret eden bir HEAD symref'i duyurabiliyor ve Git daha önce hedefi denetlemeden saklıyordu. Kötü niyetli bir sunucu, yol geçişi (path traversal) içeren bir isim duyurarak, dosyalar referans arka ucu kullanıldığında, sonraki bir dal güncellemesinin referans dizini dışındaki konumlara yazmasına neden olabiliyordu. Git artık duyurulan hedefi, protokol v2 üzerinden alınan diğer referans isimleri ve symref hedefleriyle birlikte doğruluyor.

İkinci açık olan CVE-2026-114467 ise imza işlemede bir stack bozulması hatası. GPG imzalarını soyarken Git, bir iletinin en fazla iki imza taşıyacağını varsınıyordu; daha fazlasını taşıyan hazırlanmış bir ileti, sabit boyutlu bir stack dizisinin sonunun ötesine yazılmasına neden oluyor. İkiden fazla imza taşıyan bir etiketi birleştirmek bu hatayı tetiklemeye yetiyor; sonuç bellek bozulması ve olası bir hizmet dışı bırakma. GitHub Blog, kullanıcılar adına bu tür birleştirmeleri yapan barındırma hizmetlerinin de risk altında olduğunu belirtiyor. Düzeltme, sabit boyutlu diziyi kaldırıyor ve iletileri kaç imza taşıdıklarına bakılmaksızın işliyor.

Patch'lerde ve birleştirmelerde bellek bozulması

CVE-2026-114469 binary patch uygulamasını etkiliyor. Git yaklaşık 1 GiB'den büyük patch'leri reddediyor, ancak denetim yalnızca verilen haliyle patch'in boyutunu ölçüyordu. Binary patch'ler sıkıştırılmış ve kodlanmış olduğu için küçük bir girdi sınırın ötesine genişleyebiliyor, boyut denetimini atlayabiliyor ve Git'i çökerten bir sınır dışı okumaya yol açabiliyordu. Yamalanmış sürüm ayrıca işlemeden önce bildirilen sıkıştırılmamış boyutu da inceliyor.

CVE-2026-105437, çıktıyı yazmadan önce birleştirme sonucunun ne kadar belleğe ihtiyaç duyduğunu hesaplayan birleştirme mekanizmasını etkiliyor. Bu hesaplama, sonuç çok büyük olduğunda — örneğin çok sayıda çakışma büyük bir conflict-marker-size özniteliğiyle birleştiğinde — taşabiliyor. Git bu durumda çok küçük bir tampon ayırabiliyor ve onun ötesine yazarak yığın belleğini bozabiliyor. Hem yerel birleştirmeler hem de güvenilmeyen içerik birleştiren hizmetler etkileniyor. Düzeltme, boyuta uygun türler ve denetimli aritmetik kullanıyor ve çıktı boyutu bu türlerin güvenle temsil edebileceği aralığın dışında kalan birleştirmeleri reddediyor.

fast-import'un kısıtlanması

Son güvenlik açığı olan CVE-2026-114466, bir komut akışından depolar inşa eden git fast-import ile ilgili. Bazı komutlar zaten depo dışındaki dosyalara dokunabildiği için Git bunları güvenilmeyen akışlarda kısıtlıyor; ancak üç özellik bu korumadan yoksundu. rewrite-submodules-from ve rewrite-submodules-to, dosya sistemindeki herhangi bir dosyayı okuyabiliyor ve içeriklerini hata iletileri üzerinden olası biçimde açık edebiliyor; export-pack-edges ise yeni dosyalar oluşturabiliyor ya da var olanlara ekleme yapabiliyor. Bu özellikler, çağıran taraf açıkça --allow-unsafe-features seçeneğini iletmedikçe artık girdi akışı üzerinden verildiğinde reddediliyor; GitHub Blog'a göre bu seçenek yalnızca akışı üreten programa güvenildiğinde kullanılmalı.

Platform güncellemeleri ve ek sağlamlaştırma

CVE düzeltmelerine ek olarak sürüm, checkout ve ağaç işleme sırasında ilgili index girdisi tahsislerine taşma denetimleri ekliyor; böylece boyut hesaplamaları Git bir yolu belleğe kopyalamadan önce sessizce sarmıyor.

GitHub, düzeltmeleri zaten github.com, GitHub Enterprise Cloud ve veri ikamet varyantı genelinde dağıttığını bildiriyor. GitHub Enterprise Server yamaları 3.19.15, 3.20.11, 3.21.9 ve 3.22.4 sürümlerinde mevcut; yamalanmış Git taşıyan eşgüdümlü güncellemeler GitHub Desktop, GitHub Copilot uygulaması, Codespaces ve Actions için yolda.

Neden önemli

Bu hataların çoğu yalnızca düşman içerikle temas gerektiriyor — güvenilmeyen bir depo, etiket, patch veya içe aktarma akışı — ki bu, geliştiriciler, formlar ve CI sistemleri için günlük trafiktir. Birkaçı doğrudan kullanıcı tarafından sağlanan içeriği birleştiren veya işleyen barındırma hizmetlerini tehdit ediyor ve altının en kötüsü tek bir özyinelemeli klondan kod çalıştırma sağlıyor. Git'i, ayrıca kendi kopyasını paketleyen her uygulamayı ve otomasyon hattını güncellemek tek eksiksiz çözüm. O zamana kadar GitHub Blog, klonları güvendiğiniz sunucularla sınırlamanızı, tanımadığınız depoları özyinelemeli klonlamaktan kaçınmanızı ve güvenilmeyen birleştirmelerden, binary patch'lerden ve fast-import akışlarından uzak durmanızı öneriyor.

  • #git
  • #security
  • #version-control
  • #open-source
  • #vulnerabilities

İlgili yazılar