Uma vulnerabilidade no Glibc permite obter privilégios de root

vulnerabilidade

Se exploradas, essas falhas podem permitir que invasores obtenham acesso não autorizado a informações confidenciais ou geralmente causem problemas

A recente vulnerabilidade descoberta pelos pesquisadores da Qualys na Glibc (a biblioteca GNU C) que Permite acesso root em dispositivos baseados em Linux, teria sido introduzido acidentalmente em agosto de 2022 com o lançamento da versão 2.37 da glibc.

A vulnerabilidade listada em “CVE-2023-6246” e uma pontuação CVSS de 7.8, é devido a um buffer overflow e se origina da função "vsyslog_internal()» da glibc, que é usada por syslog() e vsyslog() para fins de registro do sistema.

Para quem não conhece Glibc, deve saber que esta é uma biblioteca fundamental para programas escritos na linguagem C, atuando como interface padrão entre os programas e o sistema operacional em que são executados. A falha de escalonamento de privilégios afeta as funções internas do syslog e vsyslog, dois componentes cruciais no registro do sistema em Unix e sistemas similares, incluindo sistemas baseados em GNU/Linux.

“Essa falha permite o escalonamento local de privilégios, permitindo que um usuário sem privilégios obtenha acesso root completo”, disse Saeed Abbasi, gerente de produto da unidade de pesquisa de ameaças da Qualys, acrescentando que afeta as principais distribuições Linux, como Debian, Ubuntu e Fedora.

Um agente de ameaça poderia explorar a falha para obter permissões elevadas por meio de entradas especialmente criadas para aplicativos que usam esses recursos de registro. » Embora a vulnerabilidade exija condições específicas para ser explorada (como um argumento argv[0] ou openlog() anormalmente longo), seu impacto é significativo devido ao uso generalizado da biblioteca afetada 

Syslog é um protocolo e aplicativo usado para registrar logs do sistema, enquanto o vsyslog oferece recursos avançados de log virtual para gerenciamento de log mais específico em ambientes complexos. Ambos são essenciais para rastreabilidade e solução de problemas ao registrar eventos importantes.

A magnitude do risco é que um buffer overflow pode permitir que um invasor obtenha acesso total ao sistema como root, por meio de entradas criadas enviadas para aplicativos que usam as funções de registro vsyslog e syslog.

Durante testes realizados pelos pesquisadores, foi confirmado que diversas distribuições Linux, incluindo Debian 12 e 13, Ubuntu 23.04 e 23.10 e Fedora (versões 37 a 39 inclusive) são vulneráveis. Embora algumas distribuições tenham sido verificadas, é provável que outras distribuições Linux também sejam afetadas por esta vulnerabilidade de segurança.

Qualy's disse que uma análise mais aprofundada da glibc descobriu mais duas falhas na função vsyslog_internal() CVE-2023-6779 e CVE-2023-6780. A segunda vulnerabilidade, CVE-2023-6780, está na função glibc qsort(). Esta vulnerabilidade de corrupção de memória surge da falta de verificação de limites ao usar qsort() com uma função de comparação não transitiva e um grande número de elementos controlados por um invasor. Embora não tenham sido identificados exemplos reais de programas vulneráveis, o seu impacto potencial é significativo e afecta todas as versões da glibc desde Setembro de 1992.

Na parte de divulgação de vulnerabilidades, é mencionado que a equipe Qualys contatou a equipe de segurança da glibc sobre as falhas em 12 de dezembro de 2023, mas a equipe decidiu não abordar a corrupção de memória em qsort() como uma vulnerabilidade. Em 16 de janeiro de 2024, TRU apoiou o commit b9390ba em todas as versões estáveis ​​da glibc e a data de lançamento coordenada foi definida para 30 de janeiro de 2023.

As vulnerabilidades identificadas nas funções syslog e qsort da glibc destacam um aspecto crítico da segurança do software: mesmo os componentes mais fundamentais e confiáveis ​​não estão imunes a falhas.

É importante notar que apenas as versões 2.36 e 2.37 da glibc são vulneráveis, e as versões mais recentes já incluem o patch que resolve esta vulnerabilidade. Portanto, é essencial atualizar para as versões mais recentes para proteger os sistemas afetados. Recomenda-se verificar a versão da biblioteca glibc presente no sistema utilizando o seguinte comando:

ldd --versão

finalmente se você está interessado em saber mais sobre isso, você pode verificar os detalhes no link a seguir.