CVE-2026-91012
>_ Opis
Tłumaczenie automatyczne – może zawierać nieścisłości.
org.apache.karaf.config.core.impl.ConfigRepositoryImpl#update(pid, właściwości),
który wspiera komponent MBean „config” i polecenia powłoki config:*, tworzy plik
zapisuje konfigurację z danych wejściowych dostarczonych przez rozmówcę bez sprawdzania tego
wynik pozostaje wewnątrz ${karaf.etc}:
* jeśli przesłana mapa właściwości zawiera wpis felix.fileinstall.filename , wartość ta jest zamieniana bezpośrednio na plik (getCfgFileFromProperty), dzięki czemu może wskazywać dowolną bezwzględną ścieżkę, do której może zapisywać proces Karafa;
* w przeciwnym razie identyfikator konfiguracji jest dosłownie łączony z nazwą pliku docelowego (generateConfigFilename(): nowy plik (karaf.etc, pid + „.cfg”)), więc identyfikator PID zawierający segmenty „..” jest rozpoznawany poza ${karaf.etc}. createFactoryConfiguration() ma ten sam problem za pośrednictwem fabrycznego PID/aliasu.
Obie ścieżki kodu są dostępne dla dowolnego obiektu wywołującego pełniącego rolę „menedżera” w ramach dostarczonej przez Karafa komendy/JMX ACL (org.apache.karaf.command.acl.conf.cfg: „update = manager”). Taki użytkownik może zatem zapisywać zawartość kontrolowaną przez osobę atakującą w dowolnym pliku, który może zapisać proces Karaf, w tym plikach, które ta sama lista ACL w przeciwnym razie rezerwuje dla „administratora” (etc/users.properties, etc/*.acl.*.cfg, etc/org.apache.karaf.management.cfg i podobne), umożliwiając użytkownikowi z rolą menedżera przyznanie sobie roli administratora lub przejęcie kontenera w inny sposób.
ConfigMBeanImpl.install() i polecenie config:install Shell zabezpieczyły już równoważne ryzyko na własnej ścieżce kodu za pomocą sprawdzania ciągu finalname.contains(".."), ale to sprawdzenie nie zatrzymuje ścieżek bezwzględnych ani ucieczek opartych na dowiązaniach symbolicznych i nigdy nie zostało w ogóle zastosowane do ConfigRepositoryImpl.update() / createFactoryConfiguration().
>_ Referencje
Dane podatności pochodzą z oficjalnych źródeł (CVE® List / NVD). Opisy po polsku są tłumaczone automatycznie i mogą zawierać nieścisłości – na stronie rekordu można wyświetlić wersję angielską.
This product uses the NVD API but is not endorsed or certified by the NVD.
Copyright © 1999–2026, The MITRE Corporation. CVE is a registered trademark and the CVE logo is a registered trademark of The MITRE Corporation.
CVE Usage: MITRE hereby grants you a perpetual, worldwide, non-exclusive, no-charge, royalty-free, irrevocable copyright license to reproduce, prepare derivative works of, publicly display, publicly perform, sublicense, and distribute Common Vulnerabilities and Exposures (CVE®). Any copy you make for such purposes is authorized provided that you reproduce MITRE's copyright designation and this license in any such copy. ALL DOCUMENTS AND THE INFORMATION CONTAINED THEREIN PROVIDED BY MITRE ARE PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND.
NVD Terms of Use / CVE® Terms of Use / nvd.nist.gov / cve.org