Katalog CVE

CVE-2026-91006

Nieznane
Opublikowano: Zaktualizowano: Przetłumaczono: NVD NIST

Streszczenie

Usługa zarządzania instancjami Apache Karaf (InstanceServiceImpl) tworzy polecenie uruchamiające podrzędną maszynę JVM przez konkatenację ciągów, a następnie wykonuje je przez /bin/sh lub cscript. Wartość javaOpts dostarczona przez wywołującego jest wstawiana do tego ciągu bez cudzysłowów, co pozwala na interpretację znaków specjalnych powłoki (;, |, `, $(...)) i wykonanie dowolnych poleceń systemu operacyjnego z uprawnieniami użytkownika procesu Karaf.

Ocena ryzyka

Atakujący może uzyskać pełną kontrolę nad systemem, na którym działa Karaf, wykonując dowolne polecenia, co może prowadzić do naruszenia poufności, integralności i dostępności danych oraz całej infrastruktury.

Rekomendacja

Zastosuj środki zaradcze: ustaw karaf.secured.command.compulsory.roles=admin w etc/system.properties, ogranicz dostęp do komend instance:* i InstancesMBean przez role w etc/users.properties oraz traktuj javaOpts jako niezaufane dane wejściowe.

Inne podatności w Apache Karaf

Zobacz wszystkie
Oryginalny opis (angielski, źródło NVD)

Apache Karaf's instance-management service (InstanceServiceImpl) builds the command line used to launch a child Karaf JVM by string concatenation, then executes it through /bin/sh (Unix) or cscript (Windows). The caller-supplied javaOpts value is spliced into that string unquoted. A javaOpts value containing shell metacharacters (;, |, `, $(...)) is interpreted by the shell instead of being passed to the JVM as an option, giving arbitrary OS command execution as the Karaf process user. Reachable via the shell commands instance:create, instance:start, instance:restart, instance:change-opts, and the equivalent InstanceMBean JMX operations (createInstance, startInstance, changeJavaOpts, cloneInstance). Mitigation  * Set karaf.secured.command.compulsory.roles=admin in etc/system.properties to close the fail-open gap for all unconfigured command scopes. * Restrict which principals can reach instance:* commands and InstancesMBean via etc/users.properties role assignments. * Treat javaOpts passed to instance:create/instance:start/instance:change-opts/InstancesMBean as untrusted input only from fully-trusted operators.

Dane podatności pochodzą z NVD (NIST) · CISA KEV · EPSS