O OpenCode recebeu dois avisos sobre execução de comandos no computador durante o uso pelo terminal. Uma falha combina conteúdo malicioso na interface web com acesso ao terminal pela API. A outra permite chamar funções locais sem autenticação. Confira cada faixa separadamente, porque os avisos indicam versões corrigidas diferentes.
AplicativoOpenCode
Data do compilado
Vulnerabilidades2
As versões corrigidas indicam a disponibilidade da correção no projeto. Você precisa conferir qual executável está instalado e reiniciar os processos antigos para usar a atualização.
Gravidade críticaCVSS: 9,4/10Correção disponível
Conteúdo malicioso na interface web permite executar comandos locais
A interface web aceitava o parâmetro ?url= para carregar conversas de outro servidor. Um atacante podia fornecer uma conversa com HTML que o renderizador de Markdown inseria sem sanitização, causando XSS (cross-site scripting). O JavaScript executado na origem http://localhost:4096 conseguia chamar os endpoints /pty/ da API e iniciar comandos no seu computador.
Casos de uso afetados
Você mantém uma versão afetada do OpenCode aberta no terminal e acessa um link para a interface local com ?url= apontando para um servidor controlado pelo atacante. A conversa carregada desse servidor fornece o conteúdo necessário à exploração.
Confira na sua instância
Confira a versão do executável que você inicia e compare com <1.1.10. Após atualizar e reiniciar o OpenCode, verifique se o uso normal pelo terminal ainda abre a interface em localhost:4096. No Linux, você pode usar ss -ltnp para identificar o processo que escuta nessa porta. O aviso informa que a versão 1.1.10 desativa a interface web e a API nesse funcionamento.
Versões afetadas e correções
Faixas declaradas no comunicado oficial, por linha de manutenção
Linha
Afetadas
Corrigidas
opencode
<1.1.10
1.1.10
CVE-2026-22813, com pontuação CVSS 4.0 de 9,4. O projeto informa que uma alteração nos recursos web servidos remotamente desativou o parâmetro ?url= em 09/01/2026 às 21:36:31 UTC. Essa mitigação interrompeu o caminho descrito, mas a ausência de redirecionamento para outro servidor não comprova que você instalou a versão corrigida.
Gravidade altaCVSS: 8,8/10Correção disponível
Servidor local sem autenticação expõe comandos e arquivos
Ao iniciar, o OpenCode abria automaticamente um servidor HTTP sem autenticação. As rotas /session/:id/shell e /pty permitiam executar comandos com as suas permissões, e /file/content?path= permitia ler arquivos. A configuração permissiva de CORS (compartilhamento de recursos entre origens) também aceitava chamadas de páginas externas, permitindo que um site malicioso alcançasse essas funções pelo navegador.
Casos de uso afetados
Durante uma sessão com uma versão afetada, você navega por uma página maliciosa que faz chamadas ao servidor local. O pesquisador confirmou a exploração pelo Firefox.
Um script malicioso ou uma dependência npm comprometida no seu computador acessa a API do OpenCode e executa comandos com as permissões do processo.
Você inicia o OpenCode com --mdns. O servidor escuta em 0.0.0.0 e anuncia sua presença via Bonjour, permitindo acesso também pela rede local.
Confira na sua instância
Confira a versão instalada do pacote npm opencode-ai e compare com < 1.0.216. Com o OpenCode em execução, identifique a porta efetiva e o endereço de escuta, usando ss -ltnp no Linux. A porta começa em 4096, mas pode variar. Verifique também os argumentos do processo: --mdns amplia o acesso para a rede local. Após atualizar e reiniciar, confira se as funções de shell, terminal e leitura de arquivos continuam acessíveis sem autenticação, sem executar comandos nem consultar arquivos sensíveis para testar.
Versões afetadas e correções
Faixas declaradas no comunicado oficial, por linha de manutenção
Linha
Afetadas
Corrigidas
opencode-ai (npm)
< 1.0.216
1.0.216
CVE-2026-22812, com pontuação CVSS 3.1 de 8,8. Restringir a escuta ao endereço local reduz o acesso pela rede, mas preserva o acesso por processos locais. O aviso também descreve exploração pelo navegador, portanto essa restrição não substitui a atualização.
Programador há mais de 20 anos, fundador da Powertic e da Promovaweb. Embaixador do n8n no Brasil e da Baserow, Chatwoot, Miro e Kestra. Membro do Product Team do Mautic.
Canais oficiais
Nossos Links
Encontre a Promovaweb no canal que combina com o seu próximo passo.