CVE-2023-37895

Kritik

Açıklama

Tüm platformlardaki Jackrabbit webapp/standalone sürümünde bulunan bir Java nesne serileştirme sorunu, saldırganın RMI üzerinden uzaktan kod çalıştırmasına olanak tanır. 2.20.10 (kararlı dal) ve 2.21.17 (kararsız dal) dahil olmak üzere bu sürümler, RMI üzerinden uzaktan kod çalıştırma için kullanılabilecek bir sınıf içeren "commons-beanutils" bileşenini kullanmaktadır. Kullanıcıların derhal 2.20.11 veya 2.21.18 sürümlerine güncellemeleri önerilir. Önceki kararlı dalların (1.0.x .. 2.18.x) ömrünü tamamladığı (EOL) ve artık güncelleme almadığı unutulmamalıdır. Genel olarak RMI desteği, classpath üzerinde istismar edilebilir bir sınıfın sadece mevcut olmasıyla bile güvenlik açıklarına yol açabilir. Jackrabbit'in kendisi artık istismar edilebildiği bilinen herhangi bir kod içermese bile, sunucunuza diğer bileşenlerin eklenmesi aynı türde sorunlara neden olabilir. Bu nedenle RMI erişiminin tamamen devre dışı bırakılmasını öneriyoruz (aşağıya bakınız) ve gelecekteki Jackrabbit sürümlerinde RMI desteğinin kaldırılmasını tartışacağız. RMI desteğinin etkin olup olmadığının nasıl kontrol edileceği: RMI desteği, RMI'ye özel bir TCP portu üzerinden veya bir HTTP bağlaması üzerinden sağlanabilir. Her ikisi de Jackrabbit webapp/standalone sürümünde varsayılan olarak etkindir. Yerel RMI protokolü varsayılan olarak 1099 portunu kullanır. Etkin olup olmadığını kontrol etmek için "netstat" gibi araçlar kullanılabilir. Jackrabbit'teki RMI-over-HTTP varsayılan olarak "/rmi" yolunu kullanır. Dolayısıyla, 8080 portunda standalone çalışırken, localhost:8080/rmi adresine yapılan bir HTTP GET isteğinin 404 (etkin değil) veya 200 (etkin) döndürüp döndürmediğini kontrol edin. Web uygulaması bir konteynere root olmayan bir bağlamda dağıtıldığında HTTP yolunun farklı olabileceğini, bu durumda ön ekin kullanıcının kontrolünde olduğunu unutmayın. RMI'nin kapatılması: web.xml dosyasını bulun (JAR/WAR dosyası içinde veya paketlenmemiş web uygulama klasöründe) ve RemoteBindingServlet için deklarasyonu ve eşleme tanımını kaldırın: <servlet> <servlet-name>RMI</servlet-name> <servlet-class>org.apache.jackrabbit.servlet.remote.RemoteBindingServlet</servlet-class> </servlet> <servlet-mapping> <servlet-name>RMI</servlet-name> <url-pattern>/rmi</url-pattern> </servlet-mapping> bootstrap.properties dosyasını ($REPOSITORY_HOME içinde) bulun ve şunu ayarlayın: rmi.enabled=false ayrıca şunları kaldırın: rmi.host rmi.port rmi.url-pattern $REPOSITORY_HOME içinde bootstrap.properties adında bir dosya yoksa, bu dosya classpath içinde bir yerdedir. Bu durumda, $REPOSITORY_HOME içine bir kopya yerleştirin ve açıklandığı şekilde düzenleyin.

ÖnemKritik
CVSS9.8
İstismar olasılığı—
ÜrünApache Jackrabbit
Yayın25 Tem 2023
İlk görülme25 Tem 2023

Nasıl düzeltilir

Güncelleyin
  • apache jackrabbit2.20.11, 2.21.18 ya da sonraki bir sürüm
  • org.apache.jackrabbit:jackrabbit-webapp2.21.18, 2.20.11 ya da sonraki bir sürüm
  • org.apache.jackrabbit:jackrabbit-standalone2.21.18, 2.20.11 ya da sonraki bir sürüm
  • org.apache.jackrabbit:jackrabbit-standalone-components2.21.18, 2.20.11 ya da sonraki bir sürüm

Etkilenen ürünler

ÜrünEtkilenen sürümlerDüzeltildiği sürüm
apache jackrabbit1.0.0 ≤ v < 2.20.11, 2.21.0 ≤ v < 2.21.182.20.11, 2.21.18
org.apache.jackrabbit:jackrabbit-webappMaven2.21.0 ≤ v < 2.21.18, 1.0.0 ≤ v < 2.20.112.21.18, 2.20.11
org.apache.jackrabbit:jackrabbit-standaloneMaven2.21.0 ≤ v < 2.21.18, 1.0.0 ≤ v < 2.20.112.21.18, 2.20.11
org.apache.jackrabbit:jackrabbit-standalone-componentsMaven2.21.0 ≤ v < 2.21.18, 1.0.0 ≤ v < 2.20.112.21.18, 2.20.11

Sürümünüzü kontrol edin

Ürünü seçin ve kullandığınız sürümü yazın; sürümün etkilenen aralıkta olup olmadığını görün.

Intelligence 360 paketinde

Attack Surface Management

Alan adlarınıza bağlı varlıkları, bu varlıklarda çalışan teknolojileri ve bilinen zafiyetleri tek listede görün.

CVE-2023-37895 · Apache Jackrabbit · Dark Radar