Desvio das permissões do proxy Docker por prefixos de versão
O proxy do Portainer escolhe as verificações de acesso após remover o prefixo de versão do caminho solicitado. Essa remoção reconhece um formato limitado, mas o Docker aceita outras representações da mesma versão. Com um prefixo fora desse formato, o Portainer encaminha a requisição original sem executar as verificações específicas de permissão e propriedade do recurso. A resposta também retorna sem a filtragem que normalmente oculta credenciais de usuários sem privilégios administrativos. Um usuário autenticado com acesso ao ambiente pode, assim, consultar recursos de outros usuários e alterar ou destruir containers e serviços. A criação de um container privilegiado com o sistema de arquivos do host montado permite obter acesso root ao servidor Docker.
Casos de uso afetados
- Você compartilha um ambiente Docker com usuários Standard User e restringe os containers disponíveis para cada um. Em uma versão afetada, um desses usuários pode contornar as permissões registradas pelo Portainer e acessar os containers de outros usuários.
- Você administra um cluster Docker Swarm pelo Portainer. A falha permite ler o token de entrada de managers, que um atacante pode usar para adicionar uma máquina ao cluster como manager e obter acesso root aos servidores participantes.
- Você conecta ambientes por Portainer Agent ou Edge Agent. Essas conexões também são afetadas, assim como o acesso direto por socket ou por uma conexão TLS. O uso de um Agent não isola o ambiente desta falha.
- Você já instalou as correções das CVE-2026-44848, CVE-2026-44849 e CVE-2026-44850. Este desvio permite contornar novamente as restrições sobre plugins, criação de serviços Swarm e montagem de diretórios do host.
Confira na sua instância
Confira a versão efetivamente executada pelo servidor Portainer e compare-a com cada faixa abaixo. Na linha 2.39.x, a correção está em 2.39.7. Para as versões afetadas de 2.40.0 a 2.44.x, o comunicado orienta migrar para 2.45.0. Confira também as versões dos Agents e atualize-os junto com o servidor. Revise os usuários e grupos com acesso a cada ambiente Docker. Para investigar possível exploração, examine os containers à procura de modo privilegiado ou montagens do sistema de arquivos do host. Confira também plugins instalados fora do procedimento administrativo, imagens criadas a partir de containers de outros usuários e máquinas desconhecidas no Swarm. Os logs de atividade do Portainer podem não identificar o usuário que executou essas requisições, portanto a ausência de registros atribuídos não descarta exploração.
Versões afetadas e correções
| Linha | Afetadas | Corrigidas |
|---|---|---|
| github.com/portainer/portainer 2.39.x | >= 2.39.0, < 2.39.7 | 2.39.7 |
| github.com/portainer/portainer 2.40.x a 2.44.x | >= 2.40.0, < 2.45.0 | 2.45.0 |
A falha afeta Community Edition e Business Edition. A correção do servidor encerra este desvio de autorização mesmo com um Agent ainda desatualizado, mas o comunicado recomenda atualizar ambos porque o defeito no Agent também prejudica as respostas de consultas ao cluster. Até concluir a atualização, revogue o acesso aos ambientes Docker de todos os usuários e grupos sem privilégios administrativos. Essa medida remove a condição necessária para explorar a falha, mas suspende o uso desses ambientes por esses usuários. Uma VPN ou um gateway com autenticação apenas restringe o acesso ao Portainer e não evita a exploração por um usuário já autorizado. Nos ambientes Swarm acessíveis a usuários sem privilégios administrativos, rotacione os tokens de entrada de managers e workers e regenere a chave de desbloqueio, pois essas credenciais podem ter sido expostas.
