İnternet’e açık yaklaşık 45.000 Jenkins sunucusu, yakın zamanda açıklanan, kötüye kullanım kanıtı kodunun artık kamuya açık olduğu, kritik ve yakın zamanda açıklanan rastgele dosya okuma güvenlik açığına karşı yama yapılmamış durumda.
CVE-2024-23897 yerleşik Jenkins komut satırı arayüzünü (CLI) etkiler ve etkilenen sistemlerde uzaktan kod yürütülmesine yol açabilir. Jenkins altyapı ekibi güvenlik açığını açıkladı ve yazılımın güncellenmiş sürümünü 24 Ocak’ta yayınladı.
Kavram Kanıtı İstismarları
O zamandan beri, kavram kanıtından (PoC) yararlanma kod kusur için kullanılabilir hale geldi ve bazı saldırganların raporları var aktif olarak sömürmeye çalışmak BT. İnterneti kötü niyetli faaliyetlere karşı izleyen, kar amacı gütmeyen ShadowServer kuruluşu 29 Ocak’ta, 45.000 civarında gözlemlendiği bildirildi Jenkins’in CVE-2024-23897’ye karşı savunmasız, internete açık örnekleri. Savunmasız örneklerin yaklaşık 12.000’i ABD’de bulunuyor; ShadowServer verilerine göre Çin’de de neredeyse bir o kadar savunmasız sistem var.
Birçok kurumsal yazılım geliştirme ekibi, uygulamaları oluşturmak, test etmek ve dağıtmak için Jenkins’i kullanıyor. Jenkins, kuruluşların yazılım geliştirme sürecinde test etme, kod kalitesi kontrolleri, güvenlik taraması ve dağıtım gibi tekrarlanan görevleri yazılım geliştirme sürecinde otomatikleştirmesine olanak tanır. Jenkins ayrıca sürekli entegrasyon ve sürekli dağıtım ortamlarında da sıklıkla kullanılır.
Geliştiriciler, Jenkins’e bir komut dosyasından veya kabuk ortamından erişmek ve yönetmek için Jenkins CLI’yi kullanır. CVE-2024-23897, Jenkins 2.441 ve önceki sürümleri ile Jenkins LTS 2.426.2 ve önceki sürümlerinde varsayılan olarak etkin olan bir CLI komut ayrıştırıcı özelliğinde mevcut.
Jenkins ekibi, “Bu, saldırganların Jenkins denetleyici sürecinin varsayılan karakter kodlamasını kullanarak Jenkins denetleyici dosya sistemindeki rastgele dosyaları okumasına olanak tanıyor” dedi. 24 Ocak tavsiyesi. Bu kusur, çoğu Jenkins kullanıcısının ihtiyaç duyacağı Genel/Okuma iznine sahip bir saldırganın tüm dosyaları okumasına olanak tanıyor. Jenkins ekibi danışma belgesinde, bu izne sahip olmayan bir saldırganın yine de dosyaların ilk birkaç satırını okuyabileceğini söyledi.
RCE için Çoklu Vektörler
Güvenlik açığı ayrıca kimlik bilgileri depolama, yapı imzalama, şifreleme ve şifre çözme ve güvenli iletişim gibi çeşitli Jenkins özellikleri için kullanılan kriptografik anahtarları içeren ikili dosyaları da riske atıyor. Jenkins’in tavsiyesi, bir saldırganın ikili dosyalardan kriptografik anahtarlar elde etmek için güvenlik açığından yararlanabileceği durumlarda birden fazla saldırının mümkün olduğu konusunda uyardı. Bunlar arasında Kaynak Kök URL’si işlevi etkinleştirildiğinde uzaktan kod yürütme (RCE) saldırıları; “Beni hatırla” çerezi aracılığıyla RCE; Siteler arası komut dosyası çalıştırma saldırıları yoluyla RCE; ve siteler arası istek sahteciliği korumalarını atlayan uzaktan kod saldırıları, danışma belgesinde belirtildi.
Jenkins ekibi, saldırganların ikili dosyalardaki kriptografik anahtarlara CVE-2024-23897 yoluyla erişebildiğinde, Jenkins’te depolanan sırların şifresini çözebileceğini, verileri silebileceklerini veya bir Java yığın dökümü indirebileceklerini söyledi.
Güvenlik açığını keşfeden ve bunu Jenkins ekibine bildiren SonarSource araştırmacıları güvenlik açığını anlattı Kimliği doğrulanmamış kullanıcıların bile belirli koşullar altında Jenkins üzerinde en azından okuma iznine sahip olmasına izin vermek gibi. Bu, eski mod yetkilendirmesinin etkinleştirilmesini veya sunucunun anonim okuma erişimine izin verecek şekilde yapılandırılıp yapılandırılmadığını veya kaydolma özelliğinin ne zaman etkinleştirildiğini içerebilir.
Güvenlik açığını keşfeden Sonar’daki güvenlik araştırmacısı Yaniv Nizry, diğer araştırmacıların kusuru yeniden üretebildiklerini ve çalışan bir PoC’ye sahip olduklarını doğruluyor.
Nizry, “Kimlik doğrulaması yapılmadan güvenlik açığından belirli bir dereceye kadar yararlanmak mümkün olduğundan, savunmasız sistemleri keşfetmek çok kolaydır” diye belirtiyor. “Kötüye kullanımla ilgili olarak, eğer bir saldırgan rastgele dosya okumasını kod yürütmeye yükseltmek istiyorsa, bu Jenkins’in ve spesifik örneğin daha derinlemesine anlaşılmasını gerektirir. Yükseltmenin karmaşıklığı bağlama bağlıdır.”
Yeni Jenkins sürüm 2.442 ve LTS sürüm 2.426.3, güvenlik açığını gideriyor. Tavsiye belgesinde, hemen yükseltme yapamayan kuruluşların istismarı önlemek için CLI erişimini devre dışı bırakması gerektiği belirtildi. “Bunu yapmanız, Jenkins 2.442, LTS 2.426.3’e hemen güncelleme yapamayan yöneticilere şiddetle tavsiye edilir. Bu geçici çözümün uygulanması, Jenkins’in yeniden başlatılmasını gerektirmez.”
Hemen Yama Yapın
Critical Start’ın siber tehdit istihbaratı araştırma analisti Sarah Jones, Jenkins kullanan kuruluşların bu güvenlik açığını göz ardı etmemelerinin iyi olacağını söylüyor. Jones, “Riskler arasında veri hırsızlığı, sistem güvenliğinin ihlali, kesintiye uğrayan boru hatları ve güvenliği ihlal edilmiş yazılım sürümleri potansiyeli yer alıyor” diyor.
Endişenin bir nedeni, Jenkins gibi DevOps araçlarının, geliştiricilerin yeni uygulamalar oluştururken veya geliştirirken üretim ortamlarından getirebilecekleri kritik ve hassas verileri çoğu zaman içerebilmesidir. Geçen yıl bir güvenlik araştırmacısının aşağıdakileri içeren bir belge bulması buna örnek olarak verilebilir: TSA’nın uçuşa yasak listesinde 1,5 milyon kişi var Ohio merkezli CommuteAir’e ait bir Jenkins sunucusunda korumasız oturuyor.
Jones, “Anında düzeltme eki uygulamak çok önemli; Jenkins 2.442 veya üzeri (LTS olmayan) ya da 2.427 veya üzeri (LTS) sürümlere yükseltme, CVE-2024-23897 sorununu çözüyor” diyor. Genel bir uygulama olarak, kalkınma kuruluşlarının erişimi sınırlamak için en az ayrıcalıklı bir model uygulamasını ve ayrıca şüpheli faaliyetler için güvenlik açığı taraması ve sürekli izleme yapmasını önermektedir. Jones şunları ekliyor: “Ayrıca, geliştiriciler ve yöneticiler arasında güvenlik bilincinin desteklenmesi, genel güvenlik duruşunu güçlendiriyor.”