A divulgação da CVE-2026-39987 colocou o Marimo, uma plataforma de notebooks Python reativos voltada para desenvolvimento e ciência de dados, no centro das atenções da comunidade de segurança. A falha, classificada como crítica e com pontuação CVSS 9.3, permite que atacantes remotos executem comandos diretamente no sistema operacional sem necessidade de autenticação, criando um cenário de comprometimento completo para servidores expostos à Internet.
Embora o Marimo seja uma ferramenta relativamente recente, sua popularidade vem crescendo entre desenvolvedores e profissionais de análise de dados. A proposta da plataforma é oferecer um ambiente interativo e reativo para execução de código Python, semelhante a outros notebooks conhecidos do mercado. No entanto, justamente por fornecer recursos que interagem diretamente com o sistema operacional, falhas relacionadas à autenticação podem ter consequências extremamente graves.

O que é a CVE-2026-39987
A vulnerabilidade está relacionada ao endpoint WebSocket responsável pelo terminal do Marimo. Durante a análise que levou à publicação da falha, foi identificado que a rota /terminal/ws, utilizada para criar sessões de terminal interativas, não realizava a mesma validação de autenticação aplicada aos demais componentes da aplicação.
Em outras palavras, um invasor que conseguisse alcançar uma instância vulnerável do Marimo poderia abrir uma sessão de terminal sem fornecer qualquer credencial. Como o acesso é concedido com os privilégios do usuário responsável por executar o serviço, o atacante passa a ter a capacidade de interagir diretamente com o sistema operacional, executando comandos arbitrários como se estivesse utilizando uma shell local.
Esse tipo de falha é catalogado como CWE-306 – Missing Authentication for Critical Function, uma categoria que engloba funções críticas disponibilizadas sem mecanismos adequados de autenticação.
Por que essa vulnerabilidade é tão perigosa
Nem toda vulnerabilidade crítica representa um comprometimento imediato do sistema, mas esse é justamente o caso da CVE-2026-39987. O problema não exige interação do usuário, não depende de credenciais válidas e pode ser explorado remotamente.
Na prática, isso significa que um servidor exposto à Internet pode ser comprometido em questão de segundos.
Uma vez conectado ao terminal, um invasor pode:
-
Executar comandos arbitrários no sistema operacional;
-
Ler arquivos contendo credenciais e segredos da aplicação;
-
Exfiltrar dados armazenados localmente;
-
Implantar malware ou backdoors;
-
Criar mecanismos de persistência;
-
Utilizar a máquina comprometida para movimentação lateral dentro da rede;
-
Instalar ferramentas para acesso remoto permanente;
-
Realizar reconhecimento do ambiente e atacar outros ativos corporativos.
O impacto final depende diretamente das permissões associadas ao processo que executa o Marimo. Se o serviço estiver sendo executado com privilégios elevados, os danos podem ser ainda maiores.
Como a exploração acontece
O mecanismo de exploração é relativamente simples. Enquanto outros endpoints da aplicação realizavam chamadas responsáveis por verificar a autenticação do usuário, a rota associada ao terminal verificava apenas se o modo de execução permitia o uso do recurso e se o ambiente possuía suporte a PTY (Pseudo Terminal).
Como não existia qualquer validação de credenciais, bastava estabelecer uma conexão com o endpoint WebSocket do terminal para obter uma sessão interativa.
Esse tipo de vulnerabilidade costuma ser particularmente perigoso porque a exploração é direta. Não é necessário encadear múltiplas falhas nem realizar técnicas complexas de bypass. A ausência da verificação de autenticação transforma uma funcionalidade legítima em um vetor de comprometimento remoto.
Ambientes mais expostos ao risco
Embora qualquer instalação vulnerável possa ser alvo de exploração, alguns cenários são especialmente preocupantes.
É comum que equipes de desenvolvimento exponham ferramentas como o Marimo em servidores acessíveis pela Internet para facilitar o trabalho remoto ou permitir compartilhamento entre equipes. Em laboratórios de inteligência artificial e ambientes de ciência de dados, essas instâncias frequentemente armazenam:
-
Chaves SSH;
-
Tokens de APIs;
-
Credenciais de bancos de dados;
-
Variáveis de ambiente;
-
Informações de acesso a serviços em nuvem;
-
Dados processados pelos notebooks.
Consequentemente, um comprometimento pode ultrapassar o servidor afetado e atingir outros sistemas da organização.
Possíveis indicadores de comprometimento
Administradores que possuam ou possuíram instâncias vulneráveis expostas devem investigar a possibilidade de exploração.
Entre os principais sinais que merecem atenção estão acessos inesperados ao endpoint do terminal, conexões originadas de endereços IP desconhecidos e atividades incomuns registradas no sistema operacional.
Também é importante verificar a existência de comandos suspeitos envolvendo ferramentas frequentemente utilizadas por invasores, como curl, wget, bash, python, nc e scripts de reverse shell.
Outro ponto que merece atenção é a criação de arquivos em diretórios temporários, modificações em tarefas agendadas, alterações em chaves SSH e a presença de processos desconhecidos em execução. Conexões persistentes com endereços externos ou comunicações não reconhecidas podem indicar tentativas de manter acesso ao ambiente comprometido.
Naturalmente, a ausência desses sinais não garante que não tenha ocorrido exploração. Em muitos casos, atacantes removem rastros ou utilizam técnicas para minimizar evidências.
Correção já está disponível
Os mantenedores do projeto disponibilizaram uma correção por meio da versão 0.23.0, adicionando a validação de autenticação ausente no endpoint vulnerável.
Portanto, organizações que utilizam o Marimo devem priorizar a atualização para essa versão ou superior. Em ambientes nos quais a atualização imediata não seja possível, recomenda-se restringir o acesso à aplicação por meio de VPNs, segmentação de rede e regras de firewall.
Outra medida importante é garantir que o serviço não seja executado com privilégios administrativos. Mesmo quando uma falha permite execução remota de código, o princípio do menor privilégio pode reduzir significativamente os impactos decorrentes da exploração.
O crescimento dos riscos em ferramentas de desenvolvimento
Nos últimos anos, ferramentas voltadas para desenvolvimento, automação e inteligência artificial passaram a se tornar alvos cada vez mais frequentes. Muitas dessas aplicações foram criadas com foco na produtividade e colaboração, mas acabaram sendo utilizadas em ambientes expostos sem os controles de segurança adequados.
A tendência é que esse cenário se intensifique. Plataformas que oferecem execução de código, terminais interativos ou acesso a recursos do sistema operacional representam alvos valiosos para atacantes, especialmente porque frequentemente armazenam credenciais e informações sensíveis.
Casos recentes demonstram que a simples ausência de uma verificação de autenticação pode ser suficiente para transformar uma ferramenta de produtividade em uma porta de entrada para comprometimentos em larga escala.
O que fazer se uma instância vulnerável ficou exposta
Caso o Marimo tenha permanecido acessível pela Internet antes da atualização, a recomendação é assumir uma postura conservadora e considerar a possibilidade de comprometimento.
Além da atualização para a versão corrigida, é aconselhável:
-
Revisar logs da aplicação e do sistema operacional;
-
Investigar conexões suspeitas;
-
Rotacionar senhas e tokens de acesso;
-
Substituir chaves SSH eventualmente expostas;
-
Verificar mecanismos de persistência instalados;
-
Avaliar movimentação lateral para outros sistemas;
-
Realizar análise forense quando houver indícios de atividade maliciosa.
A CVE-2026-39987 é um exemplo claro de como uma única falha de autenticação pode comprometer completamente um ambiente. Ao permitir que atacantes obtenham acesso ao terminal do sistema sem credenciais, a vulnerabilidade abre caminho para execução remota de código, roubo de informações, instalação de malware e movimentação lateral dentro da rede.
Embora a correção já esteja disponível, a existência de instâncias vulneráveis expostas pode representar um risco significativo para organizações que utilizam a plataforma. Mais do que aplicar atualizações, esse incidente reforça a importância de limitar a exposição de serviços, adotar o princípio do menor privilégio e manter processos contínuos de monitoramento e resposta a incidentes.