Seja bem-vindo
Belo Horizonte,21/06/2026

  • A +
  • A -

Falha crítica em plataforma Python permite invasão remota sem credenciais

tecmundo.com.br
Falha crítica em plataforma Python permite invasão remota sem credenciais

Uma vulnerabilidade crítica no Marimo permite que um invasor acesse e controle um servidor remoto sem precisar de nenhuma credencial. A falha, registrada como CVE-2026-39987, foi explorada ativamente em menos de dez horas após a divulgação pública, em abril de 2026. Marimo é uma plataforma de notebooks Python usada em projetos de ciência de dados e inteligência artificial. Neste contexto, “notebook” refere-se a um documento interativo executável, que combina blocos de código com textos explicativos, gráficos, equações matemáticas e resultados de análises em uma única página.

O Marimo funciona com um servidor web que permite editar e executar código diretamente pelo navegador. Para facilitar o trabalho colaborativo, muitas instalações ficam acessíveis pela internet. Isso faz com que esses servidores frequentemente estejam ao lado de arquivos sensíveis, como credenciais de serviços em nuvem, bancos de dados e variáveis de ambiente com senhas. Basicamente, quem invade um servidor desse não encontra só o notebook, mas tudo que está instalado na mesma máquina.

ilustracao-de-roubo-de-dados-em-ciberataque
A CVE-2026-39987 foi explorada ativamente em menos de dez horas após a divulgação pública, com operações completas de roubo de credenciais executadas em menos de três minutos.

O que é um WebSocket e onde estava o problema

Para entender a falha, é preciso entender o que é um WebSocket. Isso porque é exatamente esse mecanismo que o Marimo usa para manter a conexão em tempo real entre o navegador do usuário e o servidor.

Diferente de uma requisição web comum, onde o browser pede uma informação e o servidor responde, um WebSocket abre um canal permanente de comunicação nos dois sentidos. É o mesmo tipo de tecnologia que mantém um chat ou um placar esportivo atualizado sem que a página precise ser recarregada.

O Marimo tem vários desses canais abertos. A maioria deles exigia autenticação. O terminal integrado da plataforma, que dá acesso direto à linha de comando do servidor, não exigia.

pagina-com-codigo-html
Servidores Marimo expostos à internet frequentemente armazenam credenciais e arquivos sensíveis, ampliando o impacto de uma invasão bem-sucedida.

Como a invasão funcionava na prática

Um atacante só precisava enviar uma mensagem de abertura de conexão WebSocket para o endereço /terminal/ws no servidor. O servidor aceitava a conexão, alocava um terminal e entregava acesso à linha de comando sem verificar nenhuma credencial.

A partir daí, o invasor podia executar qualquer comando como se fosse o usuário responsável pelo processo. Em instalações padrão com Docker, isso significava acesso como root, o usuário com os maiores privilégios do sistema. Não havia necessidade de phishing, nem de roubo de sessão. 

Um único handshake WebSocket, o processo inicial que permite a um cliente e a um servidor trocarem o protocolo HTTP tradicional pela conexão contínua e bidirecional do WebSocket, era suficiente para obter uma sessão interativa no servidor.

Exploração imediata e campanha ativa

A falha recebeu nota 9,3 de 10 no sistema de pontuação de vulnerabilidades CVSS v4.0 e foi adicionada ao catálogo de vulnerabilidades exploradas ativamente da CISA em 23 de abril de 2026. O prazo federal para correção era 7 de maio.

Pesquisadores do Sysdig Threat Research Team registraram a primeira tentativa de exploração 9 horas e 41 minutos após a publicação do aviso de segurança. Uma operação completa de roubo de credenciais foi executada em menos de três minutos.

Uma campanha rastreada pelos pesquisadores usa a falha para instalar uma variante do backdoor NKAbuse, que utiliza infraestrutura de comando e controle baseada em blockchain, o que dificulta o monitoramento e bloqueio do tráfego malicioso.

ataque-vaza-credenciais-de-plataforma-de-códigos
A correção está disponível na versão 0.23.0 do Marimo, que passa a exigir autenticação no terminal WebSocket da plataforma, eliminando o acesso não autorizado.

Como se proteger

A correção está disponível na versão 0.23.0 do Marimo, que alinha a autenticação do terminal com os demais endpoints da plataforma. A atualização pode ser feita com o comando pip install --upgrade "marimo>=0.23.0".

Além da atualização, recomenda-se não expor o Marimo em modo de edição para redes não confiáveis, evitar associar o serviço a todas as interfaces de rede e verificar se há sinais de comprometimento em servidores que ficaram desatualizados. Qualquer instalação abaixo da versão 0.23.0 deve ser tratada como comprometida até prova em contrário.

Acompanhe o TecMundo nas redes sociais. Inscreva-se em nossa newsletter e canal do YouTube.




COMENTÁRIOS

Buscar

Alterar Local

Anuncie Aqui

Escolha abaixo onde deseja anunciar.

Efetue o Login

Baixe o Nosso Aplicativo!

Tenha todas as novidades na palma da sua mão.