Gitea’daki kritik açık, anonim erişimle sunucu dosyalarını okutabiliyor

Anasayfa » Gitea’daki kritik açık, anonim erişimle sunucu dosyalarını okutabiliyor
Gitea’daki kritik açık, anonim erişimle sunucu dosyalarını okutabiliyor

Gitea’nın 1.22.1 ile 1.27.0 arasındaki sürümleri, kimlik doğrulaması olmadan sunucu dosyalarının okunmasına izin veren kritik bir açık içeriyordu. Public bir depo ve özel hazırlanmış Org-mode biçimlendirmesi, saldırganın servis hesabının erişebildiği dosyalara ulaşması için yeterli olabiliyordu; sorun Gitea 1.27.1 ile kapatıldı.

CVE-2026-59774 olarak izlenen açık için 2 Ağustos’ta resmi uyarı yayımlandı. 9.8 CVSS puanına sahip zafiyet kritik olarak sınıflandırıldı. Aynı sürüm, daha önce ayrı bir THN raporunda ele alınan CVE-2026-60004 numaralı uzaktan kod çalıştırma hatasını da düzeltiyor.

Gitea, bulut ortamlarındaki kurulumların yayın bakım penceresi sırasında otomatik yükseltileceğini, kendi altyapısında çalışan sistemleri yönetenlerin ise 1.27.1’e vakit kaybetmeden geçmesi gerektiğini belirtti. Şirketin açıklamasına göre açık tek başına bir istekle doğrudan uzaktan kod çalıştırmaya dönüşmüyor, ancak belirli koşullar altında komut çalıştırmaya giden bir zincire kapı aralayabiliyor.

Org-mode işleyici üzerinden dosya okuma

Zafiyet, Gitea’nın biçimlendirme işleme uç noktasında ortaya çıktı: POST /{owner}/{repo}/markup. Bu rota isteğe bağlı oturum açmayı destekliyor, depoyu çözümlüyor ve okuyucu erişimini kontrol ediyor. Ancak anonim bir istek, kod birimi etkin olan herhangi bir public depoda bu kontrolü devre dışı bırakabiliyor. Yani platformda public depo hiç yoksa, bu uç nokta üzerinden anonim saldırı yolu da bulunmuyor.

Teknik hata Org-mode ayrıştırıcısında yer alıyor. Gitea 1.27.0, go-org kütüphanesini org.New() ile başlatıyordu ve kütüphanenin varsayılan ReadFile geri çağrısını değiştirmiyordu. go-org 1.9.1 sürümünde bu geri çağrı ioutil.ReadFile olarak çalışıyor. Org-mode içindeki #+INCLUDE yönergesi mutlak yolları kabul ediyor ve bu yolları geri çağrıya iletiyor. Saldırgan, Org-mode biçimlendirmesi gönderip Mode: file seçtiğinde, servis hesabının okuyabildiği dosyaların içeriğini alabiliyor.

Gitea’nın açıklamasında, bu dosya okuma kusurunun belirli bir aşamadan sonra komut çalıştırmaya evrilebileceği de anlatılıyor. Saldırgan önce app.ini dosyasını okuyup INTERNAL_TOKEN değerini çıkarabiliyor. Ardından iç günlükleyici üzerinden bir Git hook ekleyip anonim klon sırasında bu hook’u tetikleyerek komut çalıştırma aşamasına geçebiliyor. Ancak bu zincir için henüz bağımsız olarak yayımlanmış bir istismar kodu bulunmuyor.

Yama PR #38642 ile ana hatta, PR #38645 ile de geriye taşınmış durumda. Gitea artık ReadFile davranışını geçersiz kılıyor; böylece Org-mode içindeki include yolu sunucu dosya sisteminden çözümlenmek yerine düz içerik olarak işleniyor. Düzeltmeye, include yolu işlenmesini yeniden doğrulayan bir regresyon testi de eklendi.

CVE-2026-59774, otonom saldırı sistemi geliştiren XBOW Security tarafından bulundu ve Guido Leo tarafından incelendi. Aynı sorunu NightRang3r adıyla bilinen Shai Rod da bağımsız olarak bildirdi.

Resmi uyarıda özel bir tespit yöntemi paylaşılmadı. Yine de yöneticilerin, özellikle Org-mode işleme seçen ya da mutlak dosya yolu gönderen anonim POST isteklerini incelemesi gerekiyor. Eğer açıklanan yükseltme zinciri denendiğine dair iz varsa, depo hook dizinlerinde beklenmedik çalıştırılabilir dosyalar aranmalı.

Şu ana kadar açık için sahada aktif istismar doğrulanmış değil. 5 Ağustos 2026 itibarıyla CVE-2026-59774, CISA’nın Known Exploited Vulnerabilities kataloğunda da yer almıyordu. Buna karşın dosya okuma tekniği, resmi uyarıdan önce başka bir raporda erken şekilde gündeme gelmişti; token’dan hook’a uzanan komut çalıştırma zinciri ise yalnızca Gitea’nın duyurusunda ayrıntılandırıldı.

Zafiyet, Gitea’nın peş peşe düzelttiği güvenlik sorunlarının son halkası oldu. Haziran ayında şirket, Docker imajlarındaki kritik bir reverse-proxy kimlik doğrulama atlatma açığını, CVE-2026-20896’yı yamamıştı. Bu açık, duyurudan 13 gün sonra tehdit aktörleri tarafından yoklanmaya başlanmıştı. Mayısta da konteyner kayıt defterini etkileyen erişim kontrol kusuru CVE-2026-27771 gündeme gelmiş ve 30 binden fazla kurulumu, 30’dan fazla ülkede etkilediği değerlendirilmişti.