CVE-2026-91085
Açıklama
Apache Karaf'ın shell/SSH komut güvenliği, kapsam başına ACL yapılandırma dosyalarıyla (etc/org.apache.karaf.command.acl.<scope>.cfg) sağlanır. SecuredSessionFactoryImpl.checkSecurity(), bir çağırma için gerekli rolleri çözer ve hiçbir ACL kuralı komutla eşleşmediğinde varsayılan olarak erişime izin verir: ACLConfigurationParser.Specificity.NO_MATCH, passCheck = true değerini ayarlar. Bunun güvenlik önlemi olan karaf.secured.command.compulsory.roles, etc/system.properties dosyasında yorum satırı olarak sunulduğundan, eşleşmeyen bir komuta kimliği doğrulanmış herhangi bir kullanıcı tarafından erişilebilir. Sunulan org.apache.karaf.command.acl.config ACL'si (assemblies/features/standard/src/main/feature/feature.xml, instance/.../etc/org.apache.karaf.command.acl.config.cfg dosyasına yansıtılmıştır) herhangi bir install girişi içermez. delete işlemini admin ile sınırlar; jmx.acl.*, org.apache.karaf.command.acl.* ve org.apache.karaf.service.acl.* PID'leri üzerindeki edit/property-*/update işlemlerini admin ile sınırlar ve geri kalan her şeye manager rolüne izin verir ancak config:install basitçe eşleşmemişti ve bu nedenle sadece viewer rolüne sahip olanlar da dahil olmak üzere kimliği doğrulanmış herhangi bir kullanıcıya izin verildi. config:install <url> <finalname>, url adresinden veriyi çeker ve bunu ${karaf.etc} dizinine finalname olarak yazar. karaf.etc dışındaki .. traversal saldırılarını engellemek için PathUtils.checkWithin() fonksiyonunu çağırır, ancak bu klasör Karaf'ın sunduğu tüm güvenlik ilgili dosyaları içerir: users.properties, keys.properties, host.key ve bu komutu (hatalı şekilde) yöneten ACL dosyası da dahil olmak üzere tüm org.apache.karaf.*.acl.* dosyaları. -o/--override parametresiyle, mevcut bir dosya rastgele bir URL'den çekilen saldırgan kontrollü baytlarla üzerine yazılarak değiştirilir. felix.fileinstall.dir = ${karaf.etc} (etc/config.properties) olduğu için, Felix FileInstall ayrıca buraya bırakılan herhangi bir .cfg dosyasını izler ve yeniden yükler; böylece yeniden başlatmaya gerek kalmadan döngü tamamlanır. Buna karşılık bundle:install, feature:install ve kar:install kendi ACL'lerinde yalnızca admin yetkisindedir ve aynı ACL içinde config:delete de admin yetkisindedir; config:install ise istisna durumdaydı. Azaltma: etc/org.apache.karaf.command.acl.config.cfg dosyasına install = admin ekleyin (dosya yoksa oluşturun) ve/veya eşleşmeyen komutların varsayılan olarak kapalı kalmasını sağlamak için etc/system.properties dosyasında karaf.secured.command.compulsory.roles=admin şeklinde ayarlayın (ve yeniden başlatın).
Nasıl düzeltilir
- apache karaf4.4.12 ya da sonraki bir sürüm
Etkilenen ürünler
| Ürün | Etkilenen sürümler | Düzeltildiği sürüm |
|---|---|---|
| apache karaf | v < 4.4.12 | 4.4.12 |
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.