Caiu ou Não?Pesquisar serviço
PT
Agentes e segurança

CVE-2026-88968 no Claude Code: como corrigir

Versões anteriores à 2.1.251 podem sobrescrever arquivos fora do workspace no macOS após uma troca de diretório por link simbólico. Veja como atualizar e verificar.

Computador exibindo a atualização do Claude Code e a proteção de arquivos fora do workspace contra links simbólicos

Resposta rápida

Se claude --version mostrar uma versão anterior à 2.1.251, atualize o Claude Code imediatamente pelo método oficial usado na instalação, encerre a sessão antiga e confirme novamente a versão. A Anthropic corrigiu a CVE-2026-88968 na 2.1.251. Instalações que usam a atualização automática padrão receberam a correção, mas a presença dela deve ser verificada em cada computador, imagem, contêiner e ambiente de CI.

O caminho de ataque documentado exige macOS e código controlado por um atacante em execução dentro do sandbox Bash, por exemplo um script de um repositório ou dependência maliciosa. Esse código pode trocar um diretório já validado por um link simbólico e induzir a ferramenta Edit, que roda fora do sandbox, a sobrescrever um arquivo gravável pelo usuário fora do workspace. Atualizar é a correção; evitar repositórios não confiáveis e desabilitar Edit temporariamente apenas reduz a exposição enquanto o patch não chega.

Quem está afetado

O advisory oficial marca o pacote @anthropic-ai/claude-code em versões anteriores à 2.1.251 como afetado e classifica a falha como alta, com CVSS 4.0 de 7,7. A versão 2.1.251 é a primeira corrigida. Mesmo que a instalação esteja em Windows ou Linux, vale padronizar a atualização: a matriz do pacote é global, enquanto o cenário de exploração descrito pela Anthropic é específico do comportamento de diretórios no macOS.

A vulnerabilidade não transforma qualquer prompt em escrita arbitrária e não é descrita como um ataque remoto sem interação. O pré-requisito é executar código controlado pelo atacante no sandbox Bash. Isso torna repositórios desconhecidos, hooks, instaladores, scripts de dependência e tarefas de build relevantes para o risco. O advisory não afirma exploração ativa nem diz que uma máquina vulnerável já foi comprometida.

  • Execute claude --version no mesmo terminal e usuário que abrem os projetos.
  • Considere vulnerável qualquer resultado anterior à 2.1.251.
  • Repita a verificação em IDEs, shells, CI, contêineres e imagens de desenvolvimento.
  • Localize instalações duplicadas com command -v claude e confirme qual binário está sendo executado.
  • Registre somente versão e caminho; não publique tokens, prompts, histórico ou conteúdo privado do projeto.

Como a falha ultrapassa o limite do workspace

Antes de editar um arquivo, o Claude Code resolvia o caminho e os links simbólicos para verificar se o destino permanecia no workspace. Essa validação usava nomes de caminho, mas não ficava vinculada ao identificador do diretório que havia sido conferido. Existe então um intervalo entre verificar e usar o caminho, uma condição conhecida como TOCTOU: time of check to time of use.

No macOS, o código malicioso executado no sandbox podia renomear de forma atômica um diretório do workspace e colocar um link simbólico no lugar depois da validação. Quando a ferramenta Edit abria o mesmo nome, ele já podia apontar para outro local gravável pelo usuário. A correção da Anthropic vincula a operação ao diretório validado, impedindo que a simples troca do nome redirecione a escrita.

Como atualizar e confirmar a correção

A documentação oficial informa que o Claude Code verifica atualizações na inicialização e periodicamente, instala em segundo plano e aplica o novo binário na próxima abertura. Isso reduz o trabalho para instalações padrão, mas uma sessão mantida aberta, uma política corporativa, uma imagem fixada ou um método manual pode continuar na versão antiga.

Use claude update quando esse comando estiver disponível na instalação e depois reinicie o processo. Se o Claude Code foi instalado pelo npm, atualize o pacote global pelo procedimento oficial da equipe e não use sudo: a própria documentação recomenda corrigir as permissões do npm em vez de executar a instalação como administrador. O comando claude doctor ajuda a identificar o tipo de instalação e problemas de atualização.

  • Feche tarefas do Claude Code que estejam modificando arquivos e salve o trabalho atual.
  • Execute claude update ou o procedimento oficial correspondente ao método de instalação.
  • Encerre todas as sessões antigas e abra um novo terminal ou processo.
  • Execute claude --version e confirme 2.1.251 ou posterior.
  • Rode claude doctor para verificar instalação, permissões e canal de atualização.
  • Atualize também imagens, caches e etapas de instalação da CI; depois recrie os ambientes derivados.

O que fazer enquanto a atualização não chega

Se uma máquina não puder ser atualizada imediatamente, não abra repositórios não confiáveis nem execute scripts, hooks, instaladores ou builds vindos deles. Trabalhe apenas com código cuja origem e revisão sejam conhecidas. Essa contenção não corrige a falha e não deve virar uma exceção permanente.

O CLI permite negar ferramentas com --disallowedTools. Desabilitar Edit durante uma tarefa reduz o caminho descrito no advisory, mas também muda a capacidade do agente e não protege contra outros comandos perigosos. Não use --dangerously-skip-permissions para contornar bloqueios. Em ambientes gerenciados, a ação mais segura é retirar a máquina vulnerável da execução de código não confiável até a atualização ser confirmada.

  • Suspenda tarefas do Claude Code em clones, forks e dependências ainda não revisados.
  • Bloqueie temporariamente Edit quando o trabalho puder ser somente leitura.
  • Mantenha permissões e aprovações ativas; não use o modo que ignora controles.
  • Evite executar install, postinstall, build, test e hooks de uma origem desconhecida.
  • Defina um prazo curto e um responsável para aplicar e comprovar a versão corrigida.

Como verificar possível exposição sem tentar explorar

Ter executado uma versão vulnerável demonstra exposição, não comprova que houve sobrescrita. Comece listando sessões antigas em macOS nas quais código não confiável rodou no sandbox. Preserve o histórico disponível, commits, diffs e registros de CI antes de limpar o ambiente. Revise principalmente arquivos graváveis pelo usuário que poderiam alterar comportamento futuro, como configuração do shell, Git, ferramentas de desenvolvimento e automações.

Procure mudanças inesperadas no período, mas não trate a ausência de diff no repositório como prova de segurança: o efeito relevante ocorre fora do workspace. Também não execute uma prova de conceito em uma estação real para testar a falha. Se houver indício concreto, isole a máquina, preserve evidências e reconstrua o ambiente a partir de uma base confiável; depois troque credenciais potencialmente expostas conforme o alcance verificado.

  • Liste projetos não confiáveis abertos com uma versão anterior à 2.1.251 no macOS.
  • Identifique scripts ou dependências executados e o horário aproximado de cada sessão.
  • Compare arquivos de configuração do usuário com backups, controle de versão ou uma máquina confiável.
  • Revise alterações de shell, Git, SSH, IDE e tarefas automáticas sem copiar segredos para tickets.
  • Escale para resposta a incidentes quando houver arquivo externo alterado, persistência ou execução inesperada.

Como reduzir o risco em próximos repositórios

Atualização automática não substitui inventário. Registre a versão mínima em imagens e bootstrap, verifique-a antes de iniciar jobs e remova instalações duplicadas que possam ficar fora do canal de atualização. Para repositórios de terceiros, leia scripts de instalação, hooks e dependências antes de permitir execução, e mantenha segredos fora do ambiente usado na primeira análise.

A sandbox ajuda a limitar Bash, mas não torna confiável todo código que roda nela. Ferramentas do agente que atuam fora do sandbox precisam de permissões mínimas e revisão. Use uma máquina ou contêiner descartável para a triagem inicial, restrinja rede e credenciais e só mova o projeto para o ambiente normal depois de validar a origem.

Limitações e próxima ação útil

Este guia foi verificado novamente em 1º de novembro de 2026 no advisory oficial da Anthropic e na documentação do Claude Code. O advisory descreve sobrescrita de arquivo gravável pelo usuário, não leitura automática de qualquer segredo, execução remota sem pré-requisito ou comprometimento confirmado de todas as instalações antigas. A página de status mostra incidentes do serviço, mas não informa a versão do binário local.

A próxima ação é executar claude --version em cada ambiente real e anexar evidência de 2.1.251 ou posterior ao inventário. Depois, abra um projeto descartável e confiável, faça uma edição normal dentro do workspace e confirme que a ferramenta funciona. Não reproduza a corrida de links simbólicos em uma estação com dados reais e não considere uma instalação segura apenas porque o update foi solicitado sem verificar a versão final.

Faça o próximo teste

Fontes consultadas

Os links abaixo servem para conferir conceitos, orientações oficiais e o critério editorial usado neste conteúdo.

Outros guias ligados ao mesmo tipo de problema.