OpenBSD tem um use-after-free que permite escalada local de privilégios para root
Vulnerabilidade e impacto
- A CVE descreve um use-after-free em
sys/kern/sysv_sem.c(semafóros SysV) no OpenBSD ≤7.9 que permite escalada local de privilégios (LPE) para root. - Trata-se de um UAF de troca de contexto após
tsleepemsys_semget(). - Comentadores enfatizam que é sério, mas não um “buraco remoto”.
- A possibilidade de acesso a partir de processos em sandbox é discutida; uma implementação ligada de pledge(2) sugere que daemons base em sandbox geralmente não conseguem usar essas syscalls.
Descoberta e auditoria assistida por IA
- O bug parece ter sido descoberto na iniciativa “Patch The Planet” (modelos da OpenAI + Trail of Bits) que analisa projetos de código aberto.
- Alguns inferem que ele foi corrigido primeiro como um bug genérico; só depois seu potencial de LPE foi reconhecido, possivelmente pela ferramenta de IA. Isso é apresentado como um palpite, não como algo confirmado.
- Estatísticas do próprio Patch The Planet: Linux 24 LPEs, FreeBSD 7, OpenBSD 1, além de muitos problemas não relacionados a LPE.
- Há debate sobre se auditorias baseadas em IA são economicamente vantajosas em comparação com financiar pesquisa tradicional de segurança.
Histórico de segurança do OpenBSD e “marketing”
- O slogan do OpenBSD “apenas dois buracos remotos na instalação padrão” é ao mesmo tempo elogiado por ser tecnicamente preciso e criticado por ser seletivo:
- A instalação padrão é mínima e tem a maioria dos serviços desativados, então os sistemas do mundo real diferem.
- Ainda assim, padrões mínimos e hardening agressivo (pledge, unveil, W^X, ASLR etc.) são vistos como forças genuínas.
- Alguns argumentam que o OpenBSD às vezes minimiza ou filtra o que chama de “bugs de segurança”, em parte porque muitas issues reportadas são superestimadas ou impraticáveis.
Comparações com Linux/FreeBSD e tamanho de código
- Vários comentadores associam mais bugs em Linux/FreeBSD a:
- Bases de código maiores e mais recursos/drivers.
- Maior rotatividade de desenvolvimento.
- Comparações por linhas de código são citadas; menos LOC é associado a menos bugs, embora as implicações exatas para a segurança sejam debatidas.
Relevância da escalada local de privilégios
- Uma visão: LPEs importam menos para implantações típicas de servidores OpenBSD que não executam código não confiável.
- Contraponto: LPEs tornam-se críticas quando encadeadas com RCE ou ataques à cadeia de suprimentos; são chave em defesa em profundidade.
Discussão sobre Rust e segurança de memória
- Muitos observam que o modelo de ownership do Rust é projetado para prevenir UAF, então uma versão direta desse bug provavelmente nem compilasse.
- Outros enfatizam a realidade do kernel:
- Grandes partes precisam ser
unsafe, especialmente em torno de interrupções, DMA e primitivas de baixo nível. - A segurança do Rust “seguro” depende da correção do código
unsafesubjacente.
- Grandes partes precisam ser
- O consenso: Rust reduz significativamente certas classes de bugs, mas não elimina magicamente vulnerabilidades de kernel.
Compensações de design e recursos do OpenBSD
- Vários argumentam que o bom resultado do OpenBSD (uma LPE) reflete cultura, engenharia cuidadosa e um conjunto deliberado de recursos.
- Há debate sobre se o OpenBSD é realmente “mínimo”:
- Alguns dizem que ele omite grandes subsistemas (por exemplo, Bluetooth, sistemas de arquivos “modernos” como ZFS) em parte por segurança e manutenção.
- Outros observam que o sistema base é na verdade rico (por exemplo, daemons BGP, ferramentas de rede), apenas com uma filosofia e escopo diferentes.
- A falta de journaling/ZFS para roteadores é questionada; defensores apontam para FFS totalmente síncrono e perguntam que dados de roteador realmente precisam sobreviver a uma queda de energia.
Ferramentas de DNS e tangente sobre OpenWRT
- Um fio separado critica o histórico recente de vulnerabilidades do dnsmasq; alguns o removeram de seus sistemas.
- O uso padrão do dnsmasq no OpenWRT é questionado; alternativas como Unbound (com ou sem NSD) são sugeridas, mas o papel “tudo em um” de DNS/DHCP/BOOTP/TFTP do dnsmasq torna a substituição não trivial.