Falha Crítica no glibc ld.so Permite Sequestro de $ORIGIN em Binários setuid
Aprofundamento CEVIU
Aprofundamento
Uma falha crítica (CVE-2026-86805) foi descoberta no carregador dinâmico ld.so da glibc, afetando um vasto leque de versões, da 2.14 até a 2.44. Essa vulnerabilidade de condição de corrida permite que um usuário local, mesmo sem privilégios elevados inicialmente, consiga executar código arbitrário com as permissões de um programa setuid ou setgid. A exploração se baseia na manipulação do resolvedor de caminhos $ORIGIN: o ld.so verifica um caminho normalizado, mas depois abre o caminho bruto. Em sistemas com a proteção de hardlinks desativada (via fs.protected_hardlinks), um atacante pode criar um hardlink para um binário setuid, e então, numa corrida, substituir um componente do caminho por um symlink malicioso, desviando o carregador para fora das permissões esperadas e carregando código hostil.
O vetor de ataque exige que o binário setuid ou setgid use $ORIGIN no DT_RPATH com travessia tipo "..", que normalize para um diretório confiável. O atacante precisa conseguir criar um hardlink do binário e vencer a condição de corrida. Apesar de muitas distribuições Linux ativarem a proteção de hardlinks por padrão, cenários específicos ou configurações personalizadas podem deixar sistemas expostos. A correção para esta falha já foi implementada na glibc versão 2.45.
Por que isso importa
A descoberta de uma vulnerabilidade de escalonamento de privilégios local em um componente tão fundamental como a glibc é um alerta sério para a segurança de sistemas Linux. Binários setuid, por sua natureza, já são um ponto sensível, pois permitem que programas executem com privilégios superiores aos do usuário que os iniciou. Uma falha aqui pode ser o elo que falta para um atacante local consolidar seu acesso e comprometer um sistema completamente, movendo-se lateralmente ou exfiltrando dados.
Mesmo que a maioria das distribuições tenha a proteção fs.protected_hardlinks ativada por padrão, a dependência dessa configuração para mitigar a falha ressalta a importância de auditorias de segurança e de manutenção rigorosa do sistema. Empresas e governos que operam infraestruturas baseadas em Linux devem priorizar a atualização da glibc para a versão 2.45 ou superior e verificar a configuração do fs.protected_hardlinks, garantindo que não haja brechas para a exploração desta falha.
Linha do tempo
Divulgação da CVE-2026-86805, uma falha crítica de escalonamento de privilégios no glibc ld.so.
Perguntas frequentes
O que é a CVE-2026-86805?
É uma vulnerabilidade de condição de corrida encontrada no carregador dinâmico ld.so da glibc. Ela permite que um usuário local mal-intencionado carregue código arbitrário com privilégios elevados, explorando a forma como caminhos com $ORIGIN são manipulados em binários setuid.
Como essa falha é explorada?
Um atacante cria um hardlink para um binário setuid vulnerável. Em seguida, ele vence uma condição de corrida para substituir um componente intermediário do caminho com um symlink malicioso. Isso desvia o ld.so para um diretório controlado pelo atacante, permitindo o carregamento de bibliotecas compartilhadas arbitrárias com privilégios elevados.
Quais versões da glibc são afetadas e qual a correção?
As versões da glibc de 2.14 a 2.44 são vulneráveis. A correção para esta falha foi introduzida na versão 2.45 da glibc. Recomenda-se a atualização imediata para esta ou uma versão posterior para garantir a segurança do sistema.
O que é a proteção <code>fs.protected_hardlinks</code>?
É uma configuração do kernel Linux que mitiga ataques baseados em hardlinks. Quando ativada (o que é o padrão em muitas distribuições), ela impede que usuários não privilegiados criem hardlinks para arquivos que não possuem ou para os quais não teriam permissão de escrita. Isso dificulta a exploração de vulnerabilidades como a CVE-2026-86805.
Fontes
- freenode.netfonte original
- Categoria
- CEVIU Segurança da Informação
- Publicado
- 23 de setembro de 2026
- Editoria
- CEVIU Segurança da Informação

