Kritik Jenkins RCE Kusuru için Açıklanma Yayınlandı


Jenkins’in, tehdit aktörlerinin kötü amaçlarla yararlanabileceği, keyfi kod yürütmeyle ilişkili kritik bir güvenlik açığı olduğu keşfedildi.

Güvenlik açığı CVE-2024-23898 olarak izleniyor ve ciddiyet düzeyi henüz kategorize edilmedi.

Ancak Jenkins, bu güvenlik açığını en son sürümleri olan 2.442 ve LTS 2.426.3’te düzeltti. Jenkins’in şu anda 2023 itibarıyla %44’lük bir pazar payı var; bu da bu güvenlik açığından yararlanmanın potansiyel etkisinin felaket olabileceği anlamına geliyor.

Belge

Posta Kutunuzda Ücretsiz ThreatScan’i Çalıştırın

Trustifi’nin Gelişmiş tehdit koruması, en geniş yelpazedeki karmaşık saldırıları, kullanıcının posta kutusuna ulaşmadan önce önler. Gelişmiş Yapay Zeka Destekli E-posta Koruması ile Trustifi Ücretsiz Tehdit Taramasını deneyin.

CVE-2024-23898: Siteler Arası WebSocket’in ele geçirilmesi

Bu güvenlik açığı, CLI WebSocket uç noktası aracılığıyla yapılan isteklerin kaynak doğrulamasının yapılmaması nedeniyle ortaya çıkıyor ve bu durum, bir tehdit aktörünün Jenkins denetleyicisinde CLI komutlarını yürütmesine olanak tanıyor. Ayrıca, güvenlik açığının, bir saldırganın bu güvenlik açığından yararlanabilmesi için karşılanması gereken belirli kriterleri vardır.

Bu güvenlik açığı, çoğu tarayıcının bu güvenlik açığına karşı potansiyel bir koruma görevi gören “varsayılan olarak gevşek” politikasını uygulamamasına bağlıdır. Bununla birlikte, bu güvenlik açığından yararlanılması, kurbana kötü amaçlı bir bağlantının gönderilmesini ve kullanıcı etkileşiminin zorunlu olmasını gerektirir.

SonarSource’un Cyber ​​Security News ile paylaştığı raporlara göre Jenkins-CLI komutunu çağırmanın yöntemlerinden biri de web soketlerini kullanmak.

Jenkins-CLI, kullanıcıların Jenkins Git deposunun Hudson/CLI dizininde uygulanan özel komutları yürütmesine olanak tanır.

Bir komutu çağırmanın en yaygın yolu Jenkins-cli.jar veya SSH’yi kullanmaktır. Ancak, http://jenkins/cli?remoting=false adresine iki POST isteği göndererek komutları çağıran başka bir yöntem keşfedildi.

Bir CLI komutu çağrıldığında Jenkins, args4j’nin extendAtFiles’ı çağıran parseArgument’ini kullanır. Bir saldırgan argümanları kontrol edebiliyorsa, Jenkins örneğindeki rastgele bir dosyadan isteğe bağlı sayıda bire kadar genişletilebilir.

Kullanım yöntemi (Kaynak: Sonarsource)

Sömürü

Üstelik bu keyfi komut yürütme, Veri sızıntısı güvenlik açığını (CVE-2024-23897) benzer bir arka planla birleştiriyor. CVE-2024-23897 de benzer bir nedenden dolayı mevcut ancak Jenkins örneğindeki rastgele bir dosyanın içeriğinin sızdırılmasıyla ilişkili.

Çok sayıda araştırmacı çeşitli saldırı senaryolarını kopyaladı ve GitHub’da kamuya sunulan işlevsel kavram kanıtı (PoC) saldırıları üretti.

Ancak bu Veri sızıntısı güvenlik açığı, daha sonra Uzaktan Kod Yürütme’den yararlanılmasında kullanılan rastgele sayıda bağımsız değişkeni bulmak amacıyla dosyanın içeriğini okumak için kullanılır.

Ayrıca Jenkins örneği üzerinde rastgele kod yürütmenin başarı oranı farklı bağlamlara bağlıdır. Başarılı bir şekilde kullanıldığı açıkça görülen ilginç dosyalardan bazıları şunlardır:

  • SSH anahtarları
  • /etc/passwd, /etc/shadow
  • Proje sırları ve kimlik bilgileri (daha fazla bilgi için Jenkins’in tavsiyelerine bakın)
  • Kaynak kodu, yapıtlar oluşturun
  • ve dahası…





Source link