- Claude Code, da Anthropic, detectou automaticamente uma vulnerabilidade explorável remotamente no kernel Linux, encontrando um heap buffer overflow no driver NFS que passou despercebido por 23 anos
- Apenas com o prompt “onde está a vulnerabilidade de segurança?”, ele analisou todo o kernel e identificou a falha quase sem supervisão
- O bug teve origem em um projeto de buffer fixo de 112 bytes no código do kernel de 2003 e surgiu depois que a operação LOCK foi adicionada sem limite para o comprimento do owner ID
- Além disso, Carlini encontrou centenas de potenciais vulnerabilidades no kernel, mas a maioria ainda não foi reportada por causa do gargalo de validação humana
- O modelo mais recente, Claude Opus 4.6, demonstrou capacidade de detecção muito superior às versões anteriores, sendo visto como um ponto de inflexão para a pesquisa de segurança baseada em IA
Claude Code encontrou uma vulnerabilidade no Linux que ficou escondida por 23 anos
- Nicholas Carlini, pesquisador da Anthropic, encontrou várias vulnerabilidades exploráveis remotamente no kernel Linux usando o Claude Code
- Uma delas foi uma vulnerabilidade de buffer overflow no driver NFS (Network File System) que passou despercebida por 23 anos
- Carlini afirmou que “nunca havia encontrado pessoalmente esse tipo de vulnerabilidade”, expressando surpresa com o desempenho do Claude Code
-
Como o Claude Code detecta vulnerabilidades
- O Claude Code detectou vulnerabilidades de segurança no kernel Linux quase sem supervisão
- Carlini simplesmente deu o prompt “onde está a vulnerabilidade de segurança?” e configurou a ferramenta para percorrer todos os arquivos-fonte do kernel
- O script usado foi configurado para que, em cada arquivo, o Claude Code assumisse um cenário de CTF (competição de hacking) e registrasse a vulnerabilidade mais grave em
/out/report.txt- Com o comando
find, ele percorreu todos os arquivos e executou repetidamente o Claude Code para buscar vulnerabilidades em cada um deles
- Com o comando
- O processo foi projetado para evitar relatórios duplicados da mesma falha, analisando individualmente todos os arquivos do kernel
- O Claude Code detectou vulnerabilidades de segurança no kernel Linux quase sem supervisão
-
Vulnerabilidade no NFS (Network File System)
- A principal vulnerabilidade encontrada pelo Claude Code foi um heap buffer overflow no driver NFS do Linux, que permite a um invasor ler a memória do kernel pela rede
- O cenário de ataque envolve dois clientes NFS cooperando entre si (Cliente A e Cliente B) contra um único servidor NFS
- O Cliente A solicita e obtém aprovação para um bloqueio de arquivo usando um owner ID longo de 1024 bytes
- Depois, quando o Cliente B solicita um bloqueio para o mesmo arquivo, o servidor o rejeita e gera uma mensagem de resposta
- O problema é que esse buffer da resposta de rejeição tem apenas 112 bytes, enquanto a mensagem real chega a 1056 bytes no total ao incluir o owner ID
- Como resultado, o kernel grava 1056 bytes em um buffer de 112 bytes, sobrescrevendo a memória do kernel com dados controlados pelo invasor
- Ao reportar essa vulnerabilidade, o Claude Code incluiu automaticamente até mesmo um diagrama de protocolo em ASCII
-
Por que ela não foi descoberta por 23 anos
- O bug se originou em um código introduzido no kernel Linux em março de 2003
- Na época, a mensagem de commit afirmava que o buffer fixo de 112 bytes chamado
NFSD4_REPLAY_ISIZEera suficiente para operações NFSv4 como OPEN e CLOSE - Depois, quando a operação LOCK foi adicionada, a limitação de comprimento do owner ID não foi considerada, o que levou à vulnerabilidade
- Na época, a mensagem de commit afirmava que o buffer fixo de 112 bytes chamado
- Esse código é anterior à adoção do Git (2005) e faz parte de uma base antiga a ponto de hoje nem sequer ser possível criar um link direto para ela
- O bug se originou em um código introduzido no kernel Linux em março de 2003
-
Centenas de vulnerabilidades adicionais ainda não reportadas
- Carlini encontrou ainda centenas de potenciais vulnerabilidades no kernel Linux, mas
a maioria ainda não foi reportada devido ao gargalo no processo de validação humana
- Ele comentou: “Como não posso enviar resultados não verificados aos mantenedores do kernel, ainda há centenas de crashes que não consegui confirmar”
- Até o momento, as vulnerabilidades que Carlini confirmou pessoalmente, corrigiu ou reportou somam 5 casos
nfsd: fix heap overflow in NFSv4.0 LOCK replay cacheio_uring/fdinfo: fix OOB read in SQE_MIXED wrap checkfutex: Require sys_futex_requeue() to have identical flagsksmbd: fix share_conf UAF in tree_conn disconnectksmbd: fix signededness bug in smb_direct_prepare_negotiation()
- Carlini encontrou ainda centenas de potenciais vulnerabilidades no kernel Linux, mas
a maioria ainda não foi reportada devido ao gargalo no processo de validação humana
-
Avanços na detecção de vulnerabilidades com IA
- Carlini encontrou essa vulnerabilidade usando o Claude Opus 4.6 (lançado 2 meses antes)
- Com versões anteriores, como Opus 4.1 (8 meses antes) e Sonnet 4.5 (6 meses antes), ele não conseguiu reproduzir o mesmo resultado
- O modelo mais recente conseguiu detectar muito mais vulnerabilidades
- Segundo ele, “nos próximos meses, à medida que pesquisadores e atacantes reconhecerem o poder desses modelos de IA, virá uma onda de descoberta de vulnerabilidades de segurança em grande escala”
- Carlini encontrou essa vulnerabilidade usando o Claude Opus 4.6 (lançado 2 meses antes)
-
Apresentação e outras informações
- O conteúdo foi apresentado na [un]prompted AI security conference 2026
- O caso descoberto pelo Claude Code é visto como um exemplo de como a IA pode aumentar dramaticamente a produtividade da pesquisa real em segurança
2 comentários
Lado esperançoso: descoberta de uma vulnerabilidade no Linux
Lado desesperador: descontinuação do bounding no curl
Comentários do Hacker News
Não é surpreendente. O ponto que não foi mencionado no artigo, porém, é que o Claude Code também encontrou 1.000 bugs falso-positivos, e os desenvolvedores levaram 3 meses para filtrá-los
Colar um monte de código novo de uma vez e perguntar ao Claude “o que deixei passar? onde está o bug?” é uma abordagem muito convincente para desenvolvedores que estão começando a usar IA. Ele encontra rápido especialmente bugs de threading e de sistemas distribuídos. A essa altura, imagino que códigos de criptomoedas estejam sendo analisados em massa
Em vez de um bug “escondido”, seria mais correto dizer que “ninguém olhou”. A estrutura do código escrevia 1056 bytes em um buffer de 112 bytes. É o tipo de problema que um analisador estático também pegaria facilmente, mas se você mandar um LLM “verificar todos os buffers de tamanho fixo”, ele também pode misturar alucinações no resultado. Ainda assim, é um bom ponto de partida
Curiosamente, 3 ou 4 dos 5 bugs encontrados provavelmente teriam sido mitigados pelos patches do linux-hardened, por exemplo desativando io_uring, forçando crash do kernel em caso de UAF e impedindo a exploração de heap overflow
É engraçado esse tipo de anúncio: “estamos divulgando uma arma perigosa, então ajudem a tornar o mundo mais seguro. Só que pagando assinatura”. Parece um bioquímico soltando uma bomba química e dizendo “se quiser impedir isso, pague”. A indústria de software hoje em dia é realmente irônica
Reproduzi o experimento em várias bases de código de produção, e havia muitos duplicados, falso-positivos e bugs não exploráveis. Mesmo assim, também havia várias vulnerabilidades críticas (crit) de verdade
Durante o Q&A da apresentação, fiquei curioso com o vídeo reproduzido ao fundo. Era uma demo de exploit usando um bug de NFS por rede USB?
É um trabalho relacionado ao nosso laboratório de segurança. Só neste ano encontramos 23 vulnerabilidades com agentes de segurança de IA
Parece que o estoque de 0-days das agências de três letras vai encolher rapidamente
Em vez de esperar mais relatórios de vulnerabilidade, é melhor esperar mais tentativas de ataque daqui para frente