· kaynak dev.to (home feed)
ZoomEye verileri 1.537 Jenkins controller'ının genel internetten erişilebilir olduğunu gösteriyor
dev.to'da yayımlanan bir analiz, ZoomEye taramalarıyla 1.537 Jenkins örneğine erişilebildiğini tespit etti; makale, asıl riskin tek bir CVE değil, internete açık build controller'ları olduğunu savunuyor.

dev.to'da yayımlanan bir ölçüm çalışması, uzun süredir süregelen bir soruna sayısal bir boyut kazandırdı: internetteki herkesin erişebildiği Jenkins build controller'ları. Yazar, arama motoru ZoomEye'yi kullanarak, verilerin toplandığı anda Jenkins'in ürün parmak izine uyan 1.537 örnek saydı ve build controller'larını internete açmanın sektör genelinde hâlâ rutin bir mimari karar olduğunu savunuyor.
Tarama gerçekte neyi ölçtü
Sayı, Jenkins ürününe yönelik tek bir ZoomEye parmak izi sorgusundan geliyor. dev.to makalesine göre bu rakam, erişilebilir sistemlerin gözlemlenen sayısı olarak okunmalı, savunmasız sistemlerin sayısı olarak değil: yamalanmış ve sağlamlaştırılmış bir controller bilinçli olarak herkese açık bir adreste bulunabilir ve tek başına erişilebilirlik, sömürülebilirliği kanıtlamaz.
Sayının ortaya koyduğu şey ise ölçektir. Jenkins çekirdeğinde ya da çok sayıdaki eklentisinden birinde yeni bir açık ortaya çıktığında, interneti tarayan herkes için bin üzerinde controller anında kapsam dahiline giriyor.
Erişime açıklık neden sürüyor
Makale, durumun sürmesini teknik nedenler kadar örgütsel nedenlere bağlıyor. Jenkins genellikle güvenlik ekipleri değil, build veya platform mühendisleri tarafından kurulduğu için controller'lar sık sık güvenlik açığı taramasını yönlendiren varlık envanterlerinden kaçıyor. Harici build agent'larına bağlanmak ve barındırılan Git servislerinden webhook almak için herkese açık bir adres çoğu zaman en az direnç gösteren yol. Ayrıca controller'lar iç araçlar olduğu için, üretim hizmetlerine uygulanan değişiklik yönetimi disiplininin dışında bırakılıyorlar.
Eklenti modeli bakım yükünü daha da artırıyor. Jenkins işlevselliği büyük ölçüde eklentilerle geliyor; her eklenti kendi sürüm takvimine sahiptir ve kendi güvenlik duyurularını yayımlar. Bu yüzden bir controller'ı güncel tutmak, çekirdek ürünün yanı sıra uzun bir eklenti listesini de takip etmek anlamına geliyor.
Güvenlik açığı kaydı
Jenkins düzenli bir takvimle güvenlik duyuruları yayımlıyor ve dev.to makalesi, internete dönük kurulumlar için özel ağırlığı olan birkaç yakın dönemsuyu öne çıkarıyor: CLI üzerinden rastgele dosya okunmasına izin veren bir açık, path traversal ve eklentilerde depolanmış cross-site scripting.
Erişilebilirliğin neden önemli olduğunu en net gösteren örnek CVE-2024-23897. Kaynağa göre, CLI endpoint'ine erişebilen kimlik doğrulaması yapılmamış bir saldırgan, controller'daki dosyaları okuyabiliyordu; bu da pratikte depolanmış kimlik bilgilerini ve yapılandırmayı kapsayabiliyor. Hata geniş ilgi gördü, çünkü baştan beri o kadar çok controller internete açıktı.
Savunmacılara öneriler
Makale, Jenkins çalıştıran ekiplere bir dizi öneriyle sona eriyor:
- Kimlik doğrulamasının nasıl yapılandırıldığından bağımsız olarak, herhangi bir controller'ın internetten erişilebilirliğini başlı başına bir bulgu olarak değerlendirin.
- Controller'ları bir VPN'nin veya kimlik farkındalıklı proxy'nin arkasına taşıyın ve harici agent'ların gerçekten ihtiyaç duyduğu belirli endpoint'ler dışındakileri açığa çıkarmayın.
- Jenkins çekirdeğinin ve eklentilerinin duyurularını, her biri adı belirtilmiş bir sahibi ve bir düzeltme son tarihi olan birinci sınıf güvenlik açığı bulguları olarak izleyin.
- Controller'larda tutulan kimlik bilgilerini döndürün ve tek bir controller'ın erişebildiği secret havuzunu daraltın.
- Build loglarını, controller'ın kendisinin değiştiremeyeceği bir depolama alanına iletin.
Yazar ayrıca, build altyapısını sağlamlaştırmak için daha kapsamlı bir başvuru olarak, CI/CD ortamlarını savunmaya yönelik mevcut CISA ve NSA rehberine işaret ediyor.
Neden önemli
Build controller'ları yazılım tedarik zincirinde alışılmadık ölçüde hassas bir konumda yer alıyor: kaynak kontrolü, dağıtım hedefleri ve bulut hesapları için kimlik bilgilerini tutuyorlar ve akış yönündeki sistemlerin güvendiği artifact'ler üretiyorlar. Bu yüzden açığa çıkmış bir controller yalnızca yamalanmamış bir sunucu değil — ele geçirilmesi, hem depoladığı secret'lar hem de ürettiği artifact'ler üzerinden üretime doğru yayılabilir.
ZoomEye rakamı bir sayım değil, bir anlık görüntü ve bu örneklerden kaçının gerçekte savunmasız olduğu konusunda hiçbir şey söylemiyor. Ama CVE-2024-23897'i bu kadar etkili kılan mimari seçimin hâlâ büyük ölçekte yapılmakta olduğunu gösteriyor. Platform ve güvenlik ekipleri için eyleme dönük çıkarım, tek bir yamadan daha basit: Jenkins controller'larınızın internetten erişilebilir olup olmadığını öğrenin ve erişilebilirlerse bunu bir bulgu olarak değerlendirin.
- #jenkins
- #security
- #devops
- #ci-cd
- #vulnerabilities