Jenkins Güvenlik ekibine bildirilen sorunlar Kasım 2023’te bildirildi. Sorunlar aynı ay satıcı tarafından onaylanıp düzeltildi ve Ocak 2024’te düzeltildi.
Sonar’ın Güvenlik Açığı Araştırma Ekibi, açık kaynaklı bir CI/CD yazılımı olan Jenkins’te güvenlik açıkları keşfetti. Şirketin ‘Aşırı Genişleme’ olarak adlandırdığı bu güvenlik açıkları, yetkisiz saldırganların sunucuda rastgele kod okumasına ve yürütmesine olanak tanıyarak ayrıcalıkların yöneticilere yükseltilmesine olanak tanıyor.
Bilginiz olsun diye söylüyorum, Jenkins, yazılım geliştirme yaşam döngüsünü otomatikleştirmek için kullanılan popüler bir otomasyon sunucusudur ve 2023’te %44 pazar payına sahiptir. Bu nedenle, güvenlik açıklarının son kullanıcılar üzerindeki potansiyel etkisi önemlidir.
CVE-2024-23897 ve CVE-2024-23898 olarak takip edilen Jenkins yazılımında iki güvenlik açığı belirlendi. Bunlardan ilki, keyfi dosya okumaya ve kod yürütmeye izin vermek için “expandAtFiles” işlevselliğini kullanıyor ve ikincisi, kullanıcıları kötü amaçlı bağlantıları ziyaret etmeye yönlendirerek keyfi komut yürütülmesine izin veriyor.
Güvenlik açıkları, Jenkins’in kullanıcı tarafından sağlanan verileri işleme biçiminden kaynaklanıyor. CVE-2024-23897, “genel/okuma” iznine sahip yetkisiz saldırganların Jenkins denetleyici dosya sistemindeki rastgele dosyaları okumasına olanak tanır. Ancak bu izinler olmasa bile, Jenkins denetleyicisindeki komut bağımsız değişkenlerini ve seçeneklerini ayrıştırmak için args4j kitaplığını kullanan yerleşik komut satırı arabirimi (CLI) sayesinde dosyaların ilk birkaç satırını okuyabilirler.
Bu, saldırganların Jenkins örneğindeki bir dosyadaki bağımsız değişkenleri genişletmesine ve potansiyel olarak dosya içeriğini sızdırmasına olanak tanır. Varsayılan karakter kodlaması, Genel/Okuma iznine sahip saldırganların tüm dosyaları okumasına olanak tanır ve izni olmayanlar ilk birkaç satırı okuyabilir. Maalesef bu özellik varsayılan olarak etkindir ve bunu devre dışı bırakmak Jenkins 2.441 ve LTS 2.426.2 veya önceki sürümlerde bir seçenek değildir.
Kimliği doğrulanmamış saldırganlar, eski mod yetkilendirmesinin etkinleştirilmesi, kaydolma özelliği ve “Anonim okuma erişimine izin ver” yapılandırması dahil olmak üzere belirli koşulları yerine getirmeleri durumunda Okuma izniyle sisteme erişebilir. Bu, kullanıcıların temel Jenkins API’sine, nesne API’lerine, kişiler dizinine ve aracılara erişmesine olanak tanırken, yöneticiler de Jenkins örneğindeki her şeye erişebilir. Araştırmacılar, eklenti içermeyen dosyaları başarıyla okudu ancak satır sayısını artırabilecek eklentileri tespit edemedi.
CVE-2024-23898, yüksek önem derecesine sahip, siteler arası bir WebSocket ele geçirme (CSWSH) güvenlik açığıdır ve saldırganların kurbanları bağlantılara tıklamaları için yönlendirerek CLI komutlarını yürütmesine olanak tanır. Safari ve Firefox gibi modern web tarayıcılarının, bir güvenlik açığına karşı koruma sağlamak için “varsayılan olarak gevşek” bir politikası vardır, ancak bu sıkı bir şekilde uygulanmaz.
Olası atlama teknikleri ve güncel olmayan tarayıcılar nedeniyle bu güvenlik açığına Yüksek önem derecesi sınıflandırması atanmıştır. Tarayıcılar, WS(WebSocket) veya WSS(WebSocketSecure) protokolleri üzerinde çalıştıklarından WebSockets üzerinde SOP ve CORS politikalarını uygulamaz. WebSockets, herhangi bir web sitesi tarafından, Jenkins-crumb veya Origin başlık kontrolü olmadan CSRF güvenlik açıklarına benzer şekilde, kurbanın kimliğiyle Jenkins-CLI komutlarını çağırmak için kullanılabilir.
Jenkins Güvenlik ekibine bildirilen sorunlar Kasım 2023’te bildirildi; bu sorunlar satıcı tarafından aynı ayda onaylanıp düzeltildi ve Ocak 2024’te düzeltildi. Satıcı, güvenli yapılandırmayı etkinleştirerek CVE-2024-23897 ve CVE-2024-23898’i düzeltti ve Yöneticilerin varsayılan davranışı geçersiz kılmasına olanak tanıyan WebSocket uç noktaları için kaynak doğrulama. Geliştiriciler/kullanıcılar, Jenkins’in 2.442 ve LTS 2.426.3 sürümlerinde yayınlanan yamaları derhal uygulamalıdır.
Görüş almak için Viakoo’daki Viakoo Laboratuvarları Başkan Yardımcısı John Gallagher’a ulaştık ve kendisi şu ifadeleri kullandı: “Kullanıcıların Jenkins sunucularına derhal yama yapmasının ardındaki aciliyet, GitHub’da zaten yayınlanmakta olan POC açıklarından kaynaklanmaktadır ve ciddiyet seviyesi son derece yüksektir.”
“Bu CVE ile Jenkins’i kullanan çevik geliştirme ekipleri, güvenlik açıklarını ortaya çıkarmak ve yaymak için ideal araçlardır; buradaki asıl risk budur. Başarılı olursa, tehdit aktörleri bu istismarı birçok bağımsız yazılım dağıtımına bulaşmak için kullanabilir” diye açıkladı John.
“Birçok açık kaynaklı projede olduğu gibi yama uygulamak zordur çünkü bunu kullanan ekiplerin boyutu genellikle küçüktür, çevik olma konusundaki zaman baskısı büyüktür ve diğer güvenlik katmanlarının koruma sağlayacağına dair yanlış bir inanç olabilir. Doğru bir uygulama envanterine ve otomatik yama çözümlerine sahip olmak, tehdit aktörlerinin bu CVE’den yararlanabileceği süreyi azaltacaktır” diye uyardı.
İLGİLİ KONULAR
- Ivanti VPN Zero-Day Kusurları Yaygın Siber Saldırıları Artırıyor
- Bilgisayar korsanları Bosch Termostatınızı ele geçirebilir ve Kötü Amaçlı Yazılım Yükleyebilir
- Kritik “PixieFail” Kusurları Milyonlarca Cihazı Siber Saldırılara Maruz Bırakıyor
- TeamViewer Uzaktan Erişim Sağlamak ve Fidye Yazılımını Dağıtmak İçin Suistimal Edildi
- Windows Defender SmartScreen Kusuru Phemedrone Stealer ile Kullanıldı