Gitea Docker imajlarında keşfedilen ve kısa süre önce yamalanan kritik bir güvenlik açığı, tehdit aktörlerinin hedefi haline geldi. Sysdig tarafından yapılan açıklamaya göre, CVE-2026-20896 (CVSS puanı: 9.8) olarak tanımlanan bu zafiyet, DevOps platformunun 'X-WEBAUTH-USER' başlığını herhangi bir kaynak IP adresinden güvenerek kabul etmesi nedeniyle ortaya çıkıyor. Bu durum, kimliği doğrulanmamış bir internet istemcisinin yüksek ayrıcalıklı erişim elde etmesine olanak tanıyor. Güvenlik araştırmacısı Ali Mustafa (@rz1027), zafiyeti keşfedip bildiren kişi olarak, Gitea Docker imajlarının varsayılan olarak 'REVERSE_PROXY_TRUSTED_PROXIES = *' ayarını sabit kodlayan bir 'app.ini' şablonuyla geldiğini belirtti. Bu ayar, sunucu parametrelerini, veritabanı bağlantılarını, güvenlik davranışını ve uygulama ayarlarını yöneten temel yapılandırma dosyasıdır.
Mustafa, ters proxy oturum açma etkinleştirildiğinde, joker karakterin her kaynak IP'yi güvendiği için, porta erişebilen herkesin 'X-WEBAUTH-USER' başlığını gönderebileceğini ve herhangi bir kullanıcı olarak parola veya token olmadan kimlik doğrulaması yapabileceğini açıkladı. Otomatik kayıt açıkken, bir admin kullanıcı adı admin yetkisi veriyor. Gitea'nın resmi belgelerinde 'REVERSE_PROXY_TRUSTED_PROXIES' değişkeni için güvenli değerin '127.0.0.0/8,::1/128' olduğu, yani yalnızca localhost (loopback arayüzü) güvenilir proxy sunucusu olarak kabul edildiği belirtiliyor. Ancak resmi Docker imajı bu varsayılanı kullanmıyor ve bunun yerine '*' joker karakterini sabit kodluyor. Başka bir deyişle, beyaz liste kontrolü hiç yokmuş gibi işlevsiz hale geliyor.
Bir yönetici 'ENABLE_REVERSE_PROXY_AUTHENTICATION = true' ayarını yaparak Gitea'yı kimlik doğrulayan bir ters proxy arkasına koyduğunda ve 'REVERSE_PROXY_TRUSTED_PROXIES' ayarını varsayılan değerinde bıraktığında, konteynere erişebilen herhangi bir kaynak IP'den gelen 'X-WEBAUTH-USER' HTTP başlığı kabul ediliyor. Gitea'nın güvenlik danışmanlığına göre, 'Gitea konteynerinin HTTP portuna doğrudan (amaçlanan kimlik doğrulama proxy'si üzerinden değil) erişebilen herhangi bir işlem, oturum açma adı bilinen veya tahmin edilebilir herhangi bir kullanıcının kimliğine bürünebilir. Admin hesapları (admin, gitea_admin vb.) bariz hedeflerdir.' Bu güvenlik açığı, Gitea Docker imajlarının 1.26.2 ve önceki sürümlerini etkiliyor. Geçen ay sonunda yayınlanan 1.26.3 sürümüyle birlikte '*' joker karakteri kaldırıldı ve ters proxy kimlik doğrulaması isteğe bağlı hale getirildi.
Gelecekte Ne Bekleniyor?
Bulut güvenlik şirketi Sysdig, zafiyetin kamuya ifşa edilmesinden 13 gün sonra ilk canlı sömürme girişimini tespit ettiğini açıkladı. İnternete açık yaklaşık 6.200 Gitea örneği bulunuyor. Sysdig tehdit araştırmaları kıdemli direktörü Michael Clark, 'Şu ana kadar faaliyetler, tehdit aktörünün ilk incelemesiyle ilgiliydi. ProtonVPN hizmetinden 159.26.98[.]241 IP adresinden ilk eylemi görmemize rağmen, henüz herhangi bir sömürme veya saldırı ilerlemesine dönüşmedi. Bunun, bu saldırıyı ilk aşamayı geçme şansı bulamadan erken tespit ettiğimiz için olduğunu düşünüyoruz.' dedi. Sorunun ciddiyeti göz önüne alındığında, kullanıcıların en iyi koruma için düzeltmeleri mümkün olan en kısa sürede uygulamaları hayati önem taşıyor.