Etiket doğruydu, içindeki değildi
GitLab, Cursor ve Polymarket olaylarında saldırgan kilidi kırmadı; hepimizin baktığı etiketin arkasına oturdu.
Selim Karaca1 Kasım 2026 PazarGece üçte bir banka SOC'unda en sevdiğim cümle "Yamalı, abi" idi. Ekranda sürüm numarası doğru görünürdü, tarama aracı yeşil yanardı, ben de kahvemi alıp bir sonraki alarma geçerdim. Bu hafta Alpine Linux'un GitLab olay raporunu okurken o kahvelerin hepsi birden boğazıma dizildi.
Alpine ekibi 13 Ekim'de, düzeltmeyi içeren 19.3.5 yerine yanlışlıkla 19.3.4'e geçmiş. 20-21 Ekim'de yeni açılmış bir hesap, özel hazırlanmış CI yapılandırmalarıyla sunucuyu sekiz kez çökertmiş. Ekip 22 Ekim'de 19.3.6'ya yükseltmiş; kâğıt üzerinde iş bitmiş. Bitmemiş. Düzeltme GitLab'ın kendi kodunda değil, resmî paketlerine gömdüğü bir Ruby yamasındaymış. Alpine kendi imajında standart Ruby kullandığı için yama hiç gelmemiş. Saldırının başarılı olduğuna dair kanıt yok, ama ekip ihtimali dışlayamadığı için sunucuyu sıfırdan kurmuş ve tüm parolaları sıfırlamış. Dürüst bir rapor; sektörde bu kadarını yazan az.
Benim takıldığım yer şu: sürüm numarası bir etiket. Etiket yalan söylemiyordu, sadece her şeyi söylemiyordu. Aynı hafta iki olay daha aynı kapıdan girdi. 29 Ekim'de Cursor'ın eklenti pazarında Claude Code eklentisinin değiştirilmiş bir sürümü, meşru yayıncı kimliğiyle yaklaşık 11 saat durdu ve açılır açılmaz kalıcı SSH erişimi kurmaya çalıştı. Sahte sürümün pazara nasıl girdiği hâlâ açıklanmadı. Yayıncı adı doğruydu. İçerik değildi.
Aynı gün Polymarket'in yüklediği DebugBear script'i kötü amaçlı bir sürümle değiştirildi. DebugBear'a göre DNS kayıtları alan adı kayıt firması üzerinden ele geçirildi; kendi sistemlerine sızıldığına dair iz görmüyor. Yani alan adı doğruydu, adres doğruydu, gelen dosya başkasınındı. Script açık sekmedeki oturumu kullandı ve bir saatten kısa sürede yaklaşık 2,64 milyon dolar saldırgan cüzdanına ulaştı. Polymarket şimdi 726 cüzdana geri ödeme yapıyor ve dış script'leri daha sıkı CSP, sabitlenmiş sürümler ve sandbox ile geri getireceğini söylüyor. Doğru karar. Keşke 29 Ekim'den önce verilseydi.
Üç olayda da kimse duvarı delmedi. Saldırgan, bizim kontrol listemizde "tamam" diye işaretlediğimiz kutunun arkasına oturdu: sürüm, yayıncı, alan adı. Yirmi yıl boyunca denetçilere ben de bu kutuları gösterdim, itiraf edeyim. Hudson Rock'ın bu olay için yazdığı bir cümleyi her CISO'nun masasına asmak lazım: güvenilir bir CDN'e izin veren güvenlik politikası, o CDN'in sunduğu dosyaları kontrol etmez. Vendor sunumlarında bunun adı süslü. Sahada adı basit: bakmadığın şeye güvenme.
O yüzden pazartesi sabahı ekibinize "GitLab yamalı mı" diye sormayın. "Yamanın kendisi bizim imajda var mı" diye sorun. Resmî paket yerine kendi imajını ya da kaynak derlemesini kullanan herkes için bu ayrı bir iş kalemi; Alpine'e göre GitLab sürümünün yanında Ruby 3.3.13, 3.4.12, 4.0.9 veya üstü de gerekiyor. Geliştirici makinelerindeki eklentileri sunucu kadar ciddi bir envanter kalemi sayın, oturum açılan ve para dönen sayfalardaki dış script'leri SRI ile sabitleyin.
Hükmüm net: bu hafta saldırganlar yeni bir sihir icat etmedi, bizim etiketlere duyduğumuz rahatlığı kullandı. Etiketi değil içeriği doğrulayan ekip, gelecek gece vardiyasını daha sakin geçirecek.
Görüş yazıları yazarın kendi yorumudur. Yazının yer aldığı sayı: 1 Kasım 2026 Pazar PDF.
Selim Karaca · diğer yazılar
- 2 Kasım 2026 PazartesiYama çıktı, saat işlemeye başladı