CVE-2026-91012
Təsvir
"config" MBean və config:* shell əmrlərini dəstəkləyən org.apache.karaf.config.core.impl.ConfigRepositoryImpl#update(pid, properties) metodu, konfiqurasiyanın yazıldığı faylı, nəticənin ${karaf.etc} daxilində qaldığını yoxlamadan çağıran tərəfindən təqdim edilən giriş məlumatlarından törədir: * Əgər göndərilən xüsusiyyət xəritəsi (property map) felix.fileinstall.filename yazılarını ehtiva edirsə, həmin dəyər birbaşa File obyektinə (getCfgFileFromProperty) çevrilir, buna görə də o, Karaf prosesinin yaza bildiyi istənilən mütləq yola işarə edə bilər; * Əks halda, konfiqurasiya PID-si hədəf fayl adına olduğu kimi birləşdirilir (generateConfigFilename(): new File(karaf.etc, pid + ".cfg")), beləliklə, ".." seqmentlərini ehtiva edən PID ${karaf.etc}-dən kənara çıxır. createFactoryConfiguration() metodu da zavod PID/alias vasitəsilə eyni problemə malikdir. Hər iki kod yolu, Karaf-ın təqdim etdiyi command/JMX ACL (org.apache.karaf.command.acl.conf.cfg: "update = manager") altında "manager" roluna malik olan istənilən çağırıcı tərəfindən əlçatandır. Buna görə də, belə bir istifadəçi hücumçu tərəfindən idarə olunan məzmunu Karaf prosesinin yaza bildiyi istənilən fayla, o cümlədən eyni ACL-in digər hallarda "admin" üçün rezerv etdiyi fayllara (etc/users.properties, etc/*.acl.*.cfg, etc/org.apache.karaf.management.cfg və bənzəri) yaza bilər ki, bu da manager rolundakı istifadəçiyə özünə admin rolu verməyə və ya konteyneri tam ələ keçirməyə imkan verir. ConfigMBeanImpl.install() və config:install shell əmri artıq öz kod yollarında finalname.contains("..") sətir yoxlaması ilə ekvivalent riski qorumuşdur, lakin həmin yoxlama mütləq yolları və ya simvolik link əsaslı çıxışları dayandırmır və heç vaxt ConfigRepositoryImpl.update() / createFactoryConfiguration() metodlarına tətbiq edilməmişdir.
Necə düzəltmək olar
- apache karaf4.4.12 və ya daha yeni versiya
Təsirlənən məhsullar
| Məhsul | Təsirlənən versiyalar | Düzəldildiyi versiya |
|---|---|---|
| apache karaf | v < 4.4.12 | 4.4.12 |
Versiyanızı yoxlayın
Məhsulu seçin və istifadə etdiyiniz versiyanı yazın; versiyanın təsirlənən aralıqda olub-olmadığını görün.
Attack Surface Management
Domenlərinizə bağlı aktivləri, onlarda işləyən texnologiyaları və məlum zəiflikləri bir siyahıda görün.