CVE-2023-25194
Açıklama
Apache Kafka Connect API üzerinde olası bir güvenlik zafiyeti tespit edilmiştir. Bu durum, bir Kafka Connect worker'ına erişim ve Apache Kafka Connect 2.3.0 sürümünden beri Kafka Connect kümelerinde mümkün olan rastgele bir Kafka istemcisi SASL JAAS yapılandırması ve SASL tabanlı bir güvenlik protokolü ile konnektörleri oluşturma/değiştirme yeteneği gerektirir. Konnektör, Kafka Connect REST API aracılığıyla yapılandırılırken, kimliği doğrulanmış bir operatör; `producer.override.sasl.jaas.config`, `consumer.override.sasl.jaas.config` veya `admin.override.sasl.jaas.config` özellikleri üzerinden herhangi bir konnektör Kafka istemcisinin `sasl.jaas.config` özelliğini "com.sun.security.auth.module.JndiLoginModule" olarak ayarlayabilir. Bu durum, sunucunun saldırganın LDAP sunucusuna bağlanmasına ve LDAP yanıtını serileştirmesine (deserialize) olanak tanır; saldırgan bunu Kafka connect sunucusunda java serileştirme gadget zincirlerini çalıştırmak için kullanabilir. Saldırgan, classpath içerisinde gadgetlar olduğunda güvenilmeyen verilerin kısıtlanmamış serileştirmesine (veya) uzaktan kod çalıştırma (RCE) zafiyetine neden olabilir. Apache Kafka 3.0.0 sürümünden itibaren kullanıcıların, hazır yapılandırmalarla çalışan Kafka Connect kümeleri için konnektör yapılandırmalarında bu özellikleri belirtmelerine izin verilmektedir. Apache Kafka 3.0.0 öncesinde ise kullanıcılar, Kafka Connect kümesi buna izin veren bir konnektör istemci geçersiz kılma politikasıyla yeniden yapılandırılmadığı sürece bu özellikleri belirleyemezler. Apache Kafka 3.4.0 sürümünden itibaren, SASL JAAS yapılandırmasında sorunlu giriş modüllerinin kullanımını devre dışı bırakmak için bir sistem özelliği ("-Dorg.apache.kafka.disallowed.login.modules") eklenmiştir. Ayrıca Apache Kafka Connect 3.4.0 sürümünde varsayılan olarak "com.sun.security.auth.module.JndiLoginModule" devre dışıdır. Kafka Connect kullanıcılarının konnektör yapılandırmalarını doğrulamaları ve yalnızca güvenilir JNDI yapılandırmalarına izin vermeleri önerilir. Ayrıca çözüm seçenekleri olarak, konnektör bağımlılıklarını savunmasız sürümler açısından incelemeleri ve ya konnektörlerini yükseltmeleri, ilgili bağımlılığı güncellemeleri veya konnektörleri kaldırmaları tavsiye edilir. Son olarak, "org.apache.kafka.disallowed.login.modules" sistem özelliğinden yararlanmaya ek olarak, Kafka Connect kullanıcıları, hangi Kafka istemci özelliklerinin doğrudan bir konnektör yapılandırmasında geçersiz kılınabileceğini kontrol etmek için kendi konnektör istemci yapılandırma geçersiz kılma politikalarını da uygulayabilirler.
Nasıl düzeltilir
- org.apache.kafka:connect3.4.0 ya da sonraki bir sürüm
Etkilenen ürünler
| Ürün | Etkilenen sürümler | Düzeltildiği sürüm |
|---|---|---|
| apache kafka_connect | 2.3.0 ≤ v ≤ 3.3.2 | — |
| org.apache.kafka:connectMaven | 2.3.0 ≤ v < 3.4.0 | 3.4.0 |
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.
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.