Alpine, saldırının başarıya ulaştığına dair herhangi bir kanıt bulamadığını ancak bunu kesin olarak dışlayamadığını da belirtti. Bu belirsizlik nedeniyle ekip, sunucuyu sıfırdan yeniden kurdu ve tüm hesapların parolalarını sıfırladı.
Saldırı Nasıl Gelişti?
Alpine, 13 Ekim'de sunucusunu GitLab 19.3.5 yerine yanlışlıkla 19.3.4 sürümüne yükseltti. Sunucu, 12 Ekim'de yayımlanan yamayı içermeyen bu sürümde kalırken, 20 Ekim'de yeni kayıt olmuş bir hesap sunucuyu yoklamaya başladı. Söz konusu hesap, 20 ve 21 Ekim'de sunucuya özel hazırlanmış CI yapılandırmaları gönderdi; bu gönderimler GitLab işçi süreçlerini 8 kez çökertti. 21 Ekim'deki ana saldırı ayrıca 502 hatalarına yol açtı ve CI işlerinin başarısız olmasına neden oldu.Alpine'in aktardığına göre bu çökmelerin 4'ünde saldırgan, açığı kısmen işletmeyi başardı ancak bir sonraki adımda takıldı. Saldırganın Alpine'in GitLab konteyner imajını da indirdiği tespit edildi; Alpine bu durumu, saldırganın açığı kendi yapılarına özel biçimde ayarlamaya çalıştığına işaret ettiği şeklinde yorumladı. Hesap 23 Ekim'de engellendi. Saldırgan 25 ve 26 Ekim'de erişimi yeniden kazanmaya çalıştı; ancak bu girişimler sonuçsuz kaldı.
Alpine, 26 Ekim'de 22 Ekim'de gerçekleştirdiği GitLab 19.3.6 yükseltmesine karşın sunucunun hâlâ savunmasız olduğunu fark etti. Ertesi gün sunucuyu geliştiriciler ve derleme sunucuları dışında herkese kapattı ve yeniden yapılandırma sürecini başlattı. Yeniden yapılandırma 28 Ekim'de tamamlandı; sunucu artık sorunu içermeyen Ruby 3.3.13 veya üzeri sürümüyle çalışıyor.
GitLab Güncellemesi Neden Açığı Kapatmadı?
CVE-2026-97229'un kökü, Ruby'nin içine gömülü düzenli ifade motoru olan Onigmo'da yatıyor. GitLab, 12 Ekim'deki sürümünde bu açığı kendi Linux paketi ve konteyner imajlarının içinde paketlediği Ruby'yi yamayarak kapattı. Ruby'nin kendi düzeltilmiş sürümleri ise 22 ve 23 Ekim'de yayımlandı.Alpine'in GitLab imajı, GitLab'ın kendi paketi yerine standart Ruby kullanıyordu. Bu nedenle GitLab'ı 19.3.6'ya yükseltmek, sistemin Ruby kurulumuna dokunmadı ve açık yerinde kaldı. Alpine bu deneyimden hareketle uyardı: Kendi Ruby kurulumunu kullanan, kaynaktan derleme yapan ya da kendi konteyner imajını oluşturan herkes için yalnızca GitLab'ı güncellemek yeterli değil; Ruby'nin de 3.3.13, 3.4.12, 4.0.9 veya daha yeni bir sürüme getirilmesi gerekiyor.
29 Ekim itibarıyla GitLab'ın 12 ve 21 Ekim'deki yama sürüm notları, kaynaktan derleme yapan yöneticilere Ruby'yi güncellemeleri gerektiğini açıkça belirtmiyordu. GitLab'ın kaynaktan kurulum kılavuzu da asgari sürüm olarak Nisan ayında kullanım ömrünü tamamlayan ve bu açık için herhangi bir yama almayacak olan Ruby 3.2'yi göstermeye devam ediyor.
Hangi Veriler Risk Altında Olabilir?
Alpine, saldırının başarılı olması durumunda şu verilerin açığa çıkmış olabileceğini sıraladı: tüm kullanıcılara ait e-posta adresleri, isimler ve IP adresleri; parola özetleri; iki faktörlü kimlik doğrulama sırları; CI/CD değişkenleri ve runner token'ları; webhook, entegrasyon ve push mirror kimlik bilgileri; hash olarak saklanan kişisel erişim token'ları; özel depolar; gizli konular ve birleştirme talepleri.Alpine, parola sıfırlama ve yeni gizli anahtarlar dışında runner token'larının, CI/CD değişkenlerinin, erişim token'larının veya entegrasyon kimlik bilgilerinin değiştirilip değiştirilmediğini henüz açıklamadı. Paket imzalama anahtarlarının hiçbir zaman GitLab sunucusunda bulunmadığını da ayrıca vurguladı.
Paketlerin Güvenilirliği ve Yapılan Doğrulamalar
gitlab.alpinelinux.org sunucusu, Alpine'in paketlerinin üretildiği aports deposuna ev sahipliği yapıyor. 20-24 Ekim arasında derlenen paketler ve 21 Ekim sürümleri, GitLab dışındaki kayıtlarla karşılaştırılarak doğrulandı. Bu doğrulama; bir geliştiricinin depo kopyası ve 45 derleme sunucusunun tamamı baz alınarak gerçekleştirildi. Söz konusu sürümler, resmi Alpine Docker imajlarının temelini oluşturan minirootfs dosyalarını da kapsıyor. Alpine, kontrolleri sunucunun kapatıldığı 27 Ekim'e kadar uzatıyor.GitLab Yöneticileri ve Alpine Kullanıcıları Ne Yapmalı?
GitLab'ın Linux paketi veya resmi konteyner imajını kullananların ilgili dalları için en güncel sürüme yükseltmesi yeterli. Kendi Ruby kurulumunu kullananların ise GitLab'ı güncellemelerinin yanı sıra Ruby'yi 3.3.13, 3.4.12, 4.0.9 veya üzeri bir sürüme taşımaları gerekiyor. Ruby 3.2, bu açık için herhangi bir yama almayacak; dolayısıyla bu sürümü kullanan sunucuların belirtilen sürümlerden birine geçmesi zorunlu.Rapid7, 13 Ekim'de laboratuvar ortamında çalışan bir açık yayımladı. Bu açığın işleyebilmesi için saldırganın önce bir deponun dalına kötü amaçlı bir .gitlab-ci.yml dosyası ve UTF-8 karakter içeren bir dosya yolu işlemesi gerekiyor. Ancak bu ön koşul, yeni kullanıcıların kendi kendine kayıt olup proje oluşturabildiği sunucularda geçerli değil. Acil yama yapılamayan durumlarda Rapid7, anonim erişimi kısıtlamayı, güvenilmeyen kullanıcıların genel projelere yazmasını engellemeyi veya CI lint rotasını engellemeyi öneriyor; ancak bu adımların yalnızca kendi açık yolunu kapattığını, altta yatan güvenlik açığını gidermediğini de belirtiyor.
alpinelinux/gitlab imajını kullananların 19.3.6 etiketini yeniden çekmesi gerekiyor. 27 Ekim'de yayımlanan imaj Ruby 3.3.13 içeriyor; bu tarihten önce çekilen 19.3.6 dahil tüm eski etiketler savunmasız durumda. Alpine'in kendi Ruby paketleri ise güncellemeyi zaten içeriyor: Alpine 3.22, 3.23, 3.24 ve edge için Ruby 3.4.12; Alpine 3.21 için Ruby 3.3.13. apk upgrade komutu güncellemeleri yükleyecektir.
gitlab.alpinelinux.org'un yeniden herkese açılmasının ardından hesap sahiplerinin giriş sayfasındaki "Parolanızı mı unuttunuz?" seçeneğiyle yeni parola oluşturması gerekecek. Alpine ayrıca başka sitelerden sızdırılan parolalarla sunucusuna otomatik giriş denemeleri yapıldığını tespit ettiğini belirterek gitlab.alpinelinux.org parolasını başka yerlerde kullananların oradaki parolalarını da değiştirmesini tavsiye etti.

Siber Güvenlik
Siber Güvenlik
Siber Güvenlik
Yorumlar (0)
Yorum yapmak için giriş yapmalısınız.