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.

Pontos principais
- 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.
- 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.
- 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.
- 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.
- 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
· 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.



