Apache · Apache Karaf · CVE-2026-91085
**Nome do Software Vulnerável e Versões Afetadas**
Apache Karaf (versões afetadas não especificadas)
**Description**
A segurança dos comandos de shell e SSH é gerenciada por arquivos de configuração de Lista de Controle de Acesso (ACL) por escopo. A função `SecuredSessionFactoryImpl.checkSecurity()` falha de forma aberta quando nenhuma regra de ACL corresponde a um comando, pois `ACLConfigurationParser.Specificity.NO MATCH` define `passCheck` como verdadeiro. Como a configuração de segurança `karaf.secured.command.compulsory.roles` vem desativada por padrão em `etc/system.properties`, qualquer usuário autenticado pode executar comandos não mapeados.
A ACL `org.apache.karaf.command.acl.config` não possui uma entrada para o comando `config:install`, permitindo que qualquer usuário autenticado, inclusive aqueles com apenas a função `viewer`, o utilize. Este comando busca um arquivo de uma `url` e o grava no diretório `${karaf.etc}` como `finalname`. Embora o `PathUtils.checkWithin()` impeça a travessia de diretórios fora de `${karaf.etc}`, este diretório contém arquivos de segurança críticos, como `users.properties`, `keys.properties`, `host.key` e arquivos de ACL. O uso da flag `-o` ou `--override` permite que um invasor sobrescreva esses arquivos com conteúdo arbitrário vindo de uma URL remota. Além disso, como `felix.fileinstall.dir` está definido como `${karaf.etc}`, o componente Felix FileInstall recarrega automaticamente arquivos `.cfg` modificados, permitindo a escalada de privilégios para administrador sem a necessidade de reiniciar.
**Recommendations**
Adicione `install = admin` ao arquivo `etc/org.apache.karaf.command.acl.config.cfg`, criando-o caso não exista.
Defina `karaf.secured.command.compulsory.roles=admin` em `etc/system.properties` e reinicie a aplicação para garantir que comandos não mapeados sejam bloqueados por padrão.