Ir para o conteúdo
ittechwire

Notícias de tecnologia com fontes claras

  1. Início
  2. Segurança

Segurança

Errata do OpenBSD 7.9 corrigem bugs do kernel que a Calif encadeou em um exploit de root local

A empresa de segurança Calif afirma que uma falha de memória compartilhada que remonta a cerca de 37 anos, ao código BSD original, era uma das duas partes de uma cadeia de root local. A Calif diz que o OpenBSD lançou as correções como errata 018 e 026.

Redação ittechwire4 min de leituraFontes: 2Tradução com IA · original em English
Um monitor exibindo um login de root no console de texto do OpenBSD 5.3, uma versão mais antiga do sistema operacional, ao lado de uma segunda tela.
NAVY Stealth Reverser · CC0

Pontos principais

  1. 1A Calif publicou uma pesquisa sobre um exploit de root local para o OpenBSD que combina dois bugs do kernel; as correções aparecem nas errata do OpenBSD 7.9.
  2. 2Segundo a Calif, uma das falhas envolve um contador de vinculações à memória compartilhada de 16-bit com sinal que remonta a cerca de 37 anos, aos códigos-fonte BSD originais.
  3. 3A errata 018 do OpenBSD, datada de 14 de setembro de 2026, é rotulada como uma correção de confiabilidade para um integer overflow em shmat.
  4. 4A errata 026, datada de 30 de setembro de 2026, é rotulada como uma correção de segurança para um bug de contagem de referências do kernel que podia causar um use-after-free.
  5. 5O exploit exige acesso local; a Calif também propôs um hardening mais amplo do kernel, como remoção segura de entradas de listas, randomização dos alocadores e mitigações baseadas no compilador.

A notícia completa

A empresa de segurança Calif publicou uma pesquisa que descreve como obteve privilégios de root no OpenBSD combinando duas falhas do kernel que o projeto já corrigiu. Em um relato de Andrew Griffiths datado de 16 de outubro, a empresa afirmou que um dos bugs remonta a aproximadamente 37 anos, aos códigos-fonte BSD originais. A Calif disse que relatou as vulnerabilidades ao OpenBSD anteriormente neste ano, muitas vezes acompanhadas de patches propostos.

Segundo a Calif, a falha mais antiga envolve um contador que registra as vinculações à memória compartilhada e que foi definido como um valor de 16-bit com sinal, o que permite um overflow. A empresa afirmou que esse overflow podia levar a um use-after-free por meio de uma condição de corrida e, junto com uma gravação fora dos limites distinta no kernel, permitia que um usuário local escalasse para root. A Calif disse que o ataque funcionava com a revinculação do kernel KARL do OpenBSD e com as proteções de processador SMAP e SMEP ativadas, e não exigia um bug de divulgação de informações. O relato também traz links para o código e para uma prova de conceito.

A Calif disse que os problemas foram resolvidos nas errata 018 e 026 do OpenBSD. Na página de errata do OpenBSD 7.9, a 018 está datada de 14 de setembro de 2026 e é listada como uma correção de confiabilidade que impede um integer overflow em shmat. A errata 026, datada de 30 de setembro de 2026, é listada como uma correção de segurança para um bug de contagem de referências que podia resultar em uma condição de use-after-free no kernel. Ambas as entradas se aplicam a todas as arquiteturas. A Calif aponta as duas errata como as correções para os problemas de sua cadeia, de modo que uma das duas correções tem um rótulo de confiabilidade, e não de segurança.

A página de errata afirma que os patches são distribuídos como diffs unificados assinados e que o utilitário syspatch pode instalar atualizações binárias em amd64, i386 e arm64. As correções para versões suportadas também são incorporadas ao ramo -stable, que o projeto mantém por um ano após cada lançamento. A Calif descreve o exploit como uma escalada local de privilégios, o que significa que um atacante precisaria primeiro ter acesso ao sistema.

Além das errata, a Calif apresentou várias ideias de hardening voltadas a dificultar caminhos de ataque semelhantes. Entre elas estão verificações de integridade antes da remoção de entradas de listas duplamente encadeadas, que, segundo a empresa, o FreeBSD e o NetBSD já implementam, e mais randomização da memória do kernel, já que a Calif afirmou que os alocadores do kernel do OpenBSD continuam determinísticos, embora o KARL randomize o layout do binário do kernel. A empresa também citou recursos de compiladores como o array bounds sanitizer e os futuros Alloc Tokens. A Calif disse que sugeriu o sanitizer ao FreeBSD e relatou ali, de forma privada, 21 problemas que ele teria detectado, argumentando que mitigar classes inteiras de bugs se torna mais importante à medida que a IA auxilia na descoberta de vulnerabilidades.

Por que isso importa

Administradores que aplicam apenas as errata rotuladas como de segurança podem ter ignorado a 018, que o OpenBSD lista como uma correção de confiabilidade, mas que a Calif aponta como uma das duas correções para os bugs de sua cadeia de exploit de root. Com código de exploit referenciado publicamente, é recomendável confirmar que tanto a 018 quanto a 026 estão instaladas, especialmente em sistemas nos quais usuários não confiáveis podem fazer login localmente.

Linha do tempo

  1. · Publicado

Tópicos#OpenBSD#kernel#escalada de privilégios#gerenciamento de patches#Calif

Fontes

Esta notícia se baseia nas fontes a seguir. Leia-as para ter o contexto completo.

  1. 1Calif · PesquisaBig Fish: Exploiting a 37-Year-Old Kernel Bug in OpenBSDcalif.io
  2. 2OpenBSD · Comunicado oficialOpenBSD 7.9 Erratawww.openbsd.org