Vulnerabilidades do OpenCode em 24/09/2026

O servidor iniciado por opencode serve pode receber uma atualização acionada por uma página maliciosa aberta no navegador. O aviso de 24/09/2026 tem gravidade alta e correção publicada na versão 1.18.22. Para conferir sua instalação, identifique o gerenciador usado e verifique se esse servidor está ativo.

AplicativoOpenCode
Data do compilado
Vulnerabilidades1
Gravidade altaCVSS: 7,5/10Correção disponível

Página maliciosa pode instalar outro pacote pela rota de atualização

A rota /global/upgrade aceita um formulário enviado por outro site como text/plain e interpreta seu corpo como JSON, sem conferir uma origem confiável no cabeçalho Origin. O campo target também aceita o endereço de um arquivo de pacote, em vez de limitar a entrada a uma versão. Com o OpenCode instalado por npm, pnpm ou Bun, essa combinação permite que uma página maliciosa acione a instalação de um pacote escolhido pelo atacante. Os scripts de instalação desse pacote podem executar código com as permissões do usuário do sistema que iniciou o servidor. A versão 1.18.22 exige o tipo application/json e um target explícito com uma versão semântica válida, além de rejeitar requisições sem corpo.

Casos de uso afetados

  • Você mantém o opencode serve ativo em uma instalação feita por npm, pnpm ou Bun e navega na mesma máquina. Ao abrir uma página controlada pelo atacante, o navegador pode enviar um formulário à rota de atualização, inclusive quando o servidor atende em 127.0.0.1, desde que consiga alcançá-lo.
  • Você configurou OPENCODE_SERVER_PASSWORD e já se autenticou no servidor pelo navegador. Se as credenciais de autenticação HTTP Basic continuam armazenadas, o navegador pode incluí-las ao navegar para a rota por um formulário enviado de outro site. Essa condição permite que a requisição maliciosa seja autenticada.

Confira na sua instância

Confira a versão do executável usado para iniciar o servidor e identifique se a instalação foi feita por npm, pnpm ou Bun. Verifique nos processos ativos se há um opencode serve e qual endereço ele atende. Quando houver senha, confira também se o navegador foi autenticado nesse endereço. Aplique a versão corrigida 1.18.22 pelo gerenciador da sua instalação, reinicie o servidor com o executável atualizado e confirme a versão efetivamente carregada. Como conferência adicional de código, compare o tratamento de /global/upgrade com a correção oficial: ele deve exigir application/json, validar target como versão semântica e recusar um corpo ausente.

Versões afetadas e correções

Faixas declaradas no comunicado oficial, por linha de manutenção
LinhaAfetadasCorrigidas
opencode-ai (npm)>=1.14.301.18.22

O comando de atualização executado diretamente no terminal não oferece, por si só, esse caminho de ataque pelo navegador. Instalações por curl, Homebrew, Chocolatey ou Scoop não são afetadas por essa instalação de um pacote alternativo. A faixa da API é >=1.14.30, sem limite superior informado, e foi preservada literalmente. O relato menciona 1.14.30 a 1.18.16 como estimativa. A correção publicada não confirma que seu servidor já foi atualizado.

Voltar aos compilados de vulnerabilidades
Luiz Eduardo Oliveira Fonseca

Luiz Eduardo Oliveira Fonseca

Fundador e Mentor

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.

Área pública disponível

Participe da comunidade no Discord

Entre pelo convite oficial, apresente-se à comunidade e acompanhe os avisos e projetos compartilhados entre os encontros.