Blog

O Mindset que Separa o Sênior do Júnior: Lições de Nelson Elhage

Publicamos o texto a seguir no grupo de inscritos em nossos treinamentos na semana passada e resolvemos compartilhar essa reflexão aqui para que outros também possam lê-lo.

Conversando com um amigo ontem sobre o blog post [1] que publicamos esta semana e ao qual vocês tiveram acesso prévio, ele me lembrou do artigo de Nelson Elhage, intitulado: Computers can be understood [2] (em português: “Computadores podem ser compreendidos”).

Nelson Elhage é atualmente engenheiro de sistemas na Anthropic e trabalhou anteriormente na Ksplice, Stripe e, provavelmente, em outras empresas de destaque. Para quem não conhece, a Ksplice era uma startup americana que resolveu um problema que muitos consideravam impossível na época: atualizar o kernel sem reiniciar o sistema! Em 2011, a Ksplice foi adquirida pela Oracle e hoje faz parte das soluções oferecidas pela empresa. Seu envolvimento na Ksplice, em um projeto notoriamente desafiador, por si só já demonstra as diversas habilidades de Nelson.

Continue lendo “O Mindset que Separa o Sênior do Júnior: Lições de Nelson Elhage”

A importância de conhecimentos diversos em pesquisa de vulnerabilidades – A transferibilidade de conhecimento

To access this blog post in English, click here.

Para alcançar uma carreira de excelência e alto nível em segurança da informação, conhecimentos técnicos diversos e profundos são, muitas vezes, necessários. É crucial ter uma experiência solida com:

  • Protocolos de rede
  • Arquitetura de computadores
  • Sistemas operacionais
  • Linguagens de programação
  • Compiladores e muitos outros conhecimentos

O profissional precisa ser um polímata. Estamos falando de carreiras que fazem a diferença, pessoas que trabalham na vanguarda da tecnologia moderna. Outras qualidades são também necessárias, claro, mas o foco aqui é apenas no ponto técnico.

Continue lendo “A importância de conhecimentos diversos em pesquisa de vulnerabilidades – A transferibilidade de conhecimento”

Vulnerabilidade de use-after-free no subsistema CAN BCM conduzindo a divulgação de informação (CVE-2023-52922)

To access this blog post in English, click here.

Em 2024, nosso time de pesquisa descobriu e escreveu provas de conceitos para uma vulnerabilidade de use-after-free afetando a última versão do Red Hat Enterprise Linux 9 (RHEL 9). No tempo, o kernel 5.14.0-503.15.1.el9_5. A vulnerabilidade foi corrigida no Linux kernel upstream em 17 de Julho de 2023 [1][2]. Depois que nós reportamos, a correção foi backported para o Red Hat Enterprise Linux 9 em 11 de março de 2025 [3] no kernel versão 5.14.0-503.31.1.el9_5.

Nós reportamos a vulnerabilidade para a Red Hat em 16 de Julho de 2024 e eles responderam que upstream rejeitou emitir um CVE e pediram a prova de conceito que tínhamos mencionado no primeiro contato. Depois de enviar um relatório detalhado incluindo a prova de conceito, eles emitiram o CVE-2023-52922 [4]. Esta postagem também destaca um padrão em potencial presente no subsistema CAN BCM, como uma outra vulnerabilidade também foi reportada e corrigida.

Continue lendo “Vulnerabilidade de use-after-free no subsistema CAN BCM conduzindo a divulgação de informação (CVE-2023-52922)”

Descobrindo acidentalmente uma vulnerabilidade de sete anos no kernel do Linux

To access this blog post in English, click here.

Pesquisa em vulnerabilidades está no coração da Allele Security Intelligence. Pesquisamos ativamente há mais de uma década e oferecemos nossa experiência aos nossos clientes. Entre os serviços que oferecemos estão pesquisa de vulnerabilidades em 0day e nday.

Nos projetos de pesquisa em vulnerabilidades em nday, no caso do kernel do Linux, procuramos por vulnerabilidades corrigidas em upstream que ainda afetam as principais distribuições em suas versões mais recentes. Normalmente encontramos vulnerabilidades corrigidas há mais de um ano que ainda afetam distribuições Linux populares. Fazemos isso através da auditoria de código-fonte, monitorando vulnerabilidades em listas de discussão e corrigidas em upstream, olhando os resultados do fuzzer syzkaller e de outras formas.

Enquanto fazíamos isso, nós acidentalmente descobrimos uma vulnerabilidade no núcleo do subsistema TCP do kernel do Linux. Ela tinha sido introduzida há sete anos. Nós reportamos a vulnerabilidade e ela foi corrigida em maio do ano passado. Nesta postagem, compartilharemos como isso aconteceu e uma análise breve da vulnerabilidade.

Continue lendo “Descobrindo acidentalmente uma vulnerabilidade de sete anos no kernel do Linux”

Nossas recentes contribuições para o kernel do Linux

To access this blog post in English, click here.

Durante nossos projetos de pesquisa, precisamos investigar profundamente os subsistemas dos sistemas operacionais que são nosso alvo. Nesse processo, frequentemente encontramos outros problemas que não se alinham diretamente com nossos objetivos de pesquisa. No passado, nós os ignorávamos, mas recentemente decidimos iniciar um ciclo de contribuição, reportando e corrigindo essas falhas.

Especificamente para os problemas abordados nesta postagem, nós não apenas os reportamos, como também submetemos os patches de correção. Embora já tenhamos reportado vulnerabilidades e auxiliado em suas correções no passado, estes problemas marcam as primeiras instâncias em que somos os únicos autores dos patches submetidos.

Nesta postagem, detalhamos os problemas que reportamos e corrigimos no kernel do Linux.

Dos três itens reportados, dois são NULL pointer dereferences e o terceiro é um potencial out-of-bounds write no subsistema de arquivos Btrfs. Os NULL pointer dereferences poderiam permitir que usuários não privilegiados afetassem o funcionamento do sistema. Não investimos tempo significativo para tentar acionar a vulnerabilidade potencial de out-of-bounds no Btrfs, pois ela não era prioritária para nossos objetivos de pesquisa.

Embora a vulnerabilidade exista, ela requer uma condição que não parece trivial de ser alcançada. O mais notável sobre essa vulnerabilidade em particular é que ela é extremamente antiga, estando presente no kernel do Linux por mais de 17 anos. Ela havia sido identificada e houve uma tentativa de correção no passado, mas essa falha foi posteriormente esquecida. Apesar de o código vulnerável ter sido modificado diversas vezes desde a tentativa de correção original, a vulnerabilidade persistiu.

Todos os patches que submetemos já foram aplicados no upstream do kernel. A seguir, você encontrará todos os detalhes técnicos sobre cada uma das correções.

Continue lendo “Nossas recentes contribuições para o kernel do Linux”