Descoberta e escopo da vulnerabilidade
Uma falha de segurança crítica foi identificada na plataforma de notebooks reativos de código aberto Marimo, permitindo a execução remota de código sem autenticação prévia. A vulnerabilidade, rastreada formalmente como CVE-2026-39987 (anteriormente GHSA-2679-6mx9-h9xc), apresenta uma pontuação CVSS v4.0 de 9.3, classificada como crítica. O defeito reside especificamente no endpoint WebSocket /terminal/ws da aplicação Marimo, que falha em validar a autenticação antes de conceder acesso a um shell pseudo-terminal interativo (PTY).
Diferentemente de outros endpoints WebSocket que corretamente invocam a função validate_auth(), o caminho /terminal/ws ignora completamente essa verificação de segurança. Isso permite que qualquer atacante não autenticado estabeleça uma única conexão WebSocket e receba instantaneamente um shell completo com os privilégios do processo Marimo. A natureza da falha permite a execução de comandos arbitrários no sistema hospedeiro sem a necessidade de payloads complexos ou explorações sofisticadas.
Evidências de exploração ativa
O que torna este incidente particularmente alarmante para profissionais de segurança é a velocidade com que a vulnerabilidade foi explorada. De acordo com a equipe de pesquisa de ameaças da Sysdig, o primeiro ataque bem-sucedido ocorreu apenas 9 horas e 41 minutos após a publicação do aviso de segurança. Não havia código de prova de conceito (PoC) público disponível no momento do ataque; o atacante construiu manualmente um exploit funcional diretamente a partir dos detalhes técnicos fornecidos no advisory.
Durante a intrusão, o ator malicioso executou um script de validação estruturado antes de transicionar para reconhecimento manual. Em menos de três minutos após ganhar acesso, o atacante localizou e exfiltrou o arquivo .env contendo chaves de acesso críticas da AWS e segredos de aplicativos. Este incidente demonstra que os atores de ameaças monitoram ativamente os advisories de segurança para alvejar software de nicho, como o Marimo, que possui aproximadamente 20.000 estrelas no GitHub.
Impacto e alcance
A vulnerabilidade afeta todas as versões do Marimo até e incluindo a 0.20.4. Dado que o Marimo é frequentemente utilizado em ambientes de desenvolvimento de dados, ciência de dados e colaboração de equipes, o impacto potencial é significativo. A execução de código remota sem autenticação em um ambiente de notebook pode levar ao comprometimento total do ambiente de desenvolvimento, acesso a dados sensíveis de treinamento de modelos e, potencialmente, pivoteamento para outras redes internas.
O ataque destaca um risco crescente em ferramentas de desenvolvimento de código aberto que são expostas à internet sem camadas de segurança adequadas. A falta de autenticação no endpoint de terminal é uma falha fundamental de design que permite que atacantes contornem completamente as medidas de segurança perimetrais.
Medidas de mitigação recomendadas
As equipes de segurança devem aplicar imediatamente as seguintes ações para proteger seus ambientes:
- Atualização Imediata: Atualize as instalações do Marimo para a versão corrigida 0.23.0 ou posterior o mais rápido possível.
- Restrição de Rede: Se a atualização imediata não for possível, restrinja o acesso de rede externo ao endpoint
/terminal/wsatravés de firewalls ou proxies reversos. - Auditoria de Credenciais: Audite variáveis de ambiente e arquivos
.envem qualquer instância do Marimo previamente exposta. - Rotação de Chaves: Roteie todas as credenciais da AWS, chaves de API, senhas de banco de dados e chaves SSH que possam ter sido comprometidas.
- Camada de Autenticação: Implemente uma camada de autenticação ou proxy reverso antes de expor plataformas de notebook à internet.
Indicadores de comprometimento (IoC)
O endereço IP 49.207.56[.]74 foi identificado como a fonte do IP explorando um terminal WebSocket e roubando credenciais. Equipes de SOC devem configurar alertas para tráfego de saída ou conexões de entrada provenientes deste endereço IP, bem como padrões de tráfego incomuns relacionados ao endpoint /terminal/ws.
Implicações para governança de segurança
Este incidente reforça a necessidade de uma governança de segurança robusta para ferramentas de desenvolvimento de código aberto. As organizações devem tratar ferramentas de desenvolvimento com o mesmo rigor de segurança que aplicam a sistemas de produção. A exposição de ferramentas de desenvolvimento à internet sem autenticação adequada cria vetores de ataque diretos para o comprometimento de cadeias de suprimentos de software.
Perguntas frequentes
Qual é a gravidade da vulnerabilidade? A vulnerabilidade é classificada como crítica com uma pontuação CVSS v4.0 de 9.3, indicando um risco severo de comprometimento de sistemas.
É necessário reiniciar o servidor? Após a atualização para a versão corrigida, recomenda-se reiniciar os serviços do Marimo para garantir que as correções de segurança sejam aplicadas corretamente.
Como posso verificar se fui afetado? Verifique a versão instalada do Marimo. Se estiver rodando a versão 0.20.4 ou anterior, você está vulnerável e deve atualizar imediatamente.