Popüler Java güvenlik çerçevesi pac4j’de, özellikle 4.0’dan önceki sürümleri etkileyen kritik bir güvenlik açığı belirlendi.
CVE-2023-25581 olarak izlenen bu güvenlik açığı, uzaktan kod yürütülmesine (RCE) olanak tanıyor ve pac4j-core’un etkilenen sürümlerini kullanan sistemler için önemli bir risk oluşturuyor.
Güvenlik açığı, pac4j-core’un ‘InternalAttributeHandler’ sınıfı içindeki seri durumdan çıkarma işlemindeki bir kusurdan kaynaklanmaktadır. Bu kusur, saldırganların harici olarak kontrol edilen değerleri ‘UserProfile’ sınıfının özniteliklerinde depolayan sistemlerden yararlanmasına olanak tanır.
Saldırganlar, “{#sb64}” ön ekine sahip ve Base64 kodlu serileştirilmiş bir Java nesnesi içeren bir öznitelik sağlayarak, rastgele Java sınıflarının seri durumdan çıkarılmasını tetikleyebilir.
Bu özellikle tehlikelidir çünkü RCE’ye yol açabilir ve kötü niyetli aktörlerin etkilenen sistemlerde rastgele kod çalıştırmasına olanak tanır.
Analyse Any Suspicious Files With ANY.RUN: Intergarte With You Security Team -> Try for Free
Sorun, GitHub Güvenlik Laboratuvarı’ndan (GHSL) Michael Stepankin tarafından keşfedildi ve 2 Şubat 2023’te pac4j geliştirme ekibine bildirildi.
Ekip raporu kabul etti ve 14 Şubat 2023’te pac4j-core’un 4.0 sürümünün yayınlanmasıyla bir düzeltme yayınladı.
pac4j RCE Saldırılarına Karşı Savunmasız
Güvenlik açığının kökeni, “InternalAttributeHandler” içindeki “restore” yönteminin dize niteliklerini işleme biçiminden kaynaklanıyor.
Yöntem, seri durumdan çıkarma girişiminde bulunmadan önce bir dize değerinin zaten `{#sb64}` önekiyle başlayıp başlamadığını doğrulamakta başarısız oluyor.
Bu gözetim, kullanıcı adları veya e-postalar gibi niteliklerin, kötü amaçlı serileştirilmiş nesneleri içerecek şekilde manipüle edilmesi yoluyla istismar edilebilir.
Seri durumdan çıkarma işlemine bazı sınırlamalar getiren ‘RestrictedObjectInputStream’in varlığına rağmen, geniş bir yelpazedeki Java paketleri, potansiyel olarak istismar edilebilir gadget zincirleri nedeniyle savunmasız kalmaya devam ediyor.
Bu güvenlik açığının olası etkisi ciddidir; çünkü RCE saldırılarına olanak sağlayarak gizlilik, bütünlük ve kullanılabilirliği tehlikeye atabilir.
Pac4j-core kullanıcılarının, bu güvenlik kusurunu gideren sürüm 4.0 veya sonraki bir sürüme yükseltmeleri şiddetle tavsiye edilir. Şu anda bu soruna yönelik bilinen bir geçici çözüm bulunmamaktadır.
Bu güvenlik açığının keşfedilmesi ve ifşa edilmesi, yazılım güvenliğinin korunmasında düzenli güncellemelerin ve dikkatli olmanın önemini vurgulamaktadır.
Pac4j gibi Java çerçeveleri birçok uygulamanın ayrılmaz bir parçası olduğundan, bunların güvenli olduğundan emin olmak, potansiyel istismarlara karşı koruma açısından çok önemlidir.
Bu güvenlik açığı, yazılım çerçevelerinin karmaşık saldırılara karşı korunmasında devam eden zorlukları vurgulamaktadır.
Pac4j ekibinin CVE-2023-25581’e yönelik hızlı yanıtı, güvenliğe olan bağlılığını gösteriyor ve geliştiricilerin güncellemeleri ve yamaları uygulamada proaktif kalma ihtiyacını vurguluyor.
Bu güvenlik açığı ve etkileri hakkında daha ayrıntılı bilgi için kullanıcılar, güvenlik kuruluşları tarafından yayınlanan önerilere başvurabilir ve yazılım bakımına yönelik en iyi uygulamaları takip edebilir.
How to Choose an ultimate Managed SIEM solution for Your Security Team -> Download Free Guide(PDF)