Perşembe, Mart 20, 2025
Ana SayfaYazılarZafiyet BülteniJenkins RCE CVE-2024-23897

Jenkins RCE CVE-2024-23897

CVE NO : CVE-2024-23897
ÖNEM DERECESİ : Kritik
ETKİLENEN ÜRÜN:Jenkins
ETKİLENEN VERSİYON:
Jenkins 2.441 ve öncesi sürümler
Jenkins LTS 2.426.2 ve öncesi sürümler

Jenkins NEDİR? NE İÇİN KULLANILIR?
Jenkins, sürekli entegrasyon ve sürekli dağıtım (CI/CD) süreçlerini otomatikleştirmek için kullanılan açık kaynaklı bir otomasyon sunucusudur. Yazılım geliştirme sürecinde, kod değişikliklerinin otomatik olarak derlenmesi, test edilmesi ve üretim ortamlarına dağıtılması için kullanılır.

GÜVENLİK AÇIĞI HAKKINDA
Jenkins, yerleşik bir Komut Satırı Arayüzüne (CLI) sahiptir, bu da script veya shell ortamlarından Jenkins’e erişimi sağlar. CLI işlemleri sırasında Jenkins controller komut argümanlarını ve seçeneklerini ayrıştırmak için args4j kütüphanesi kullanılır. Bu ayrıştırıcının, bir argümandaki ‘@’ karakterini takiben gelen dosya yolunu ilgili dosyanın içeriğiyle değiştiren bir özelliği (expandAtFiles) bulunmaktadır. Bu özellik Jenkins 2.441 ve öncesi sürümleri ile LTS 2.426.2 ve öncesi sürümlerinde varsayılan olarak aktif durumdadır.
Bu durum, saldırganların, Jenkins controller işlemi için varsayılan karakter kodlaması kullanılarak, Jenkins controller dosya sisteminde rastgele dosyaları okumasına imkan tanımaktadır. Overall/Read iznine sahip saldırganlar, dosyaların tamamını okuyabilirken, bu izne sahip olmayan saldırganlar yalnızca dosyaların ilk birkaç satırını okuyabilir. Okunabilecek satır sayısı, mevcut CLI komutlarına bağlıdır. Jenkins güvenlik ekibi, danışma belgesinin yayımlandığı tarihe kadar, herhangi bir eklenti yüklenmeden Jenkins’in güncel sürümlerindeki dosyaların ilk üç satırını okuma yollarını tespit etmiş ve bu satır sayısını artırabilecek herhangi bir eklentiyi belirlememiştir. Örnek ilk 3 satır okuma:

Read the first line:
java -jar jenkins-cli.jar -s https://xxx.yyy/jenkins who-am-i "@/etc/passwd"
Read second line:
java -jar jenkins-cli.jar -s https://xxx.yyy/jenkins enable-job "@/etc/passwd"
Read third line:
java -jar jenkins-cli.jar -s https://xxx.yyy/jenkins help "@/etc/passwd"

Jenkins’in çeşitli özellikleri için kullanılan kriptografik anahtarları içeren ikili dosyalar da, bazı kısıtlamalarla okunabilir. Yayın tarihi itibarıyla, Jenkins güvenlik ekibi, bilinen dosya yollarındaki tüm dosyaların içeriğini okumanın yanı sıra, saldırganların ikili dosyalardan kriptografik anahtarlar elde etme yeteneğini kullanarak gerçekleştirebilecekleri çeşitli uzaktan kod yürütme (RCE) saldırılarını da doğrulamıştır. Bunlar arasında, Resource Root URL’leri üzerinden yapılan RCE (İki varyant), “Remember Me” cookie’si üzerinden RCE, derleme günlükleri aracılığıyla gerçekleştirilen stored XSS saldırıları yoluyla RCE, CSRF korumasının aşılması yoluyla RCE, Jenkins’te depolanan sırların şifresinin çözülmesi ve Jenkins’teki herhangi bir öğenin silinmesi yer almaktadır. Ayrıca, Jenkins controller sürecinin veya herhangi bir agent sürecinin Java heap dump’ının indirilmesi de mümkündür. Bu güvenlik zafiyetleri, Jenkins kontrolörü veya agent işlemi, .hprof dosya uzantısı olmadan heap dump dosyalarının oluşturulmasına izin veren bir Java runtime üzerinde çalıştığında etkili olabilir. Bu güvenlik açıkları, Jenkins’in varsayılan yapılandırmalarının ve bazı özelliklerinin etkinleştirilmesi sonucu olarak meydana gelmektedir.

MITRE ATT&CK KULLANILAN TEKNİKLER

TaktikInitial Access
TeknikExploit Public-Facing Application (T1190)
TeknikGather Victim Host Information (T1592)
TaktikReconnaissance
MITRE ATT&CK

DÜZELTME SÜRECİ VE ÖNERİLEN İYİLEŞTİRMELER
CLI’ye erişimin devre dışı bırakılmasının kötüye kullanımı engellemesi beklenmektedir.

ÇÖZÜM
Jenkins 2.442 sürüme güncellenmeli
Jenkins LTS 2.426.3 sürüme güncellenmeli

İLGİLİ BELGELER VE KAYNAKLAR

https://www.jenkins.io/security/advisory/2024-01-24/#binary-files-note
https://syedabeerahmed.medium.com/rce-jenkins-cve-2024-23897-6f56ac3ecf5d
https://socprime.com/blog/cve-2024-23897-detection-a-critical-jenkins-rce-vulnerability-poses-growing-risks-with-poc-exploits-released/
https://vuldb.com/?id.251997
https://www.sonarsource.com/blog/excessive-expansion-uncovering-critical-security-vulnerabilities-in-jenkins/

İLGİLİ PAYLAŞIMLAR

En Popüler Yazılar

Son Gönderiler