Looney Tunables, uma vulnerabilidade que afeta qualquer distribuição que use Glibc

Ajustáveis ​​Looney

Looney Tunables – Escalonamento de privilégios locais no ld.so da glibc

Alguns dias atrás Qualys, anunciou por meio de uma postagem no blog, que identificou um vulnerabilidade perigosa (já catalogado sob CVE-2023-4911) e cujo codinome é "Ajustáveis ​​Looney."

Sobre esta vulnerabilidade é mencionado que permite que um usuário local eleve seus privilégios no sistema especificando dados especialmente formatados na variável de ambiente “GLIBC_TUNABLES” antes de executar um arquivo executável com o sinalizador suid.

Vulnerabilidade É considerado perigoso porque está localizado dentro do vinculador ld.so fornecido como parte da biblioteca C do sistema Glibc (GNU libc) presente em muitos sistemas e se deve a uma mudança introduzida em abril de 2021 como parte da versão glibc 2.34.

A biblioteca GNU C, comumente conhecida como glibc, é a biblioteca C no sistema GNU e na maioria dos sistemas que executam o kernel Linux. Define as chamadas do sistema e outras funcionalidades básicas, como open, malloc, printf, exit, etc., que um programa típico requer. O carregador dinâmico da biblioteca GNU C é um componente crucial da glibc responsável pela preparação e execução de programas

Identificamos e exploramos com sucesso esta vulnerabilidade (uma escalada de privilégios locais que concede privilégios de root completos) nas instalações padrão do Fedora 37 e 38, Ubuntu 22.04 e 23.04 e Debian 12 e 13. Outras distribuições são provavelmente igualmente suscetíveis, embora tenhamos observou que o Alpine Linux continua sendo uma exceção devido ao uso de musl libc em vez de glibc. Esta vulnerabilidade foi introduzida em abril de 2021.

A presença de vulnerabilidade é devido a um bug no código de análise de string especificado na variável de ambiente GLIBC_TUNABLES, na qual devido a uma combinação incorreta de parâmetros nesta variável faz com que o valor analisado seja gravado além do buffer alocado.

Esta variável de ambiente, destinada a ajustar e otimizar aplicativos vinculados à glibc, é uma ferramenta essencial para desenvolvedores e administradores de sistema. Seu uso indevido ou exploração afeta amplamente o desempenho, a confiabilidade e a segurança do sistema.

O problema se manifesta quando, em vez de sequências dos parâmetros especificados no formulário com atribuição dupla. Neste caso, a alocação é processada duas vezes e esse processamento duplo produz um resultado maior que o tamanho do buffer.

Para demonstrar vulnerabilidade, Os pesquisadores prepararam uma exploração estável que permite obter direitos de root quando usado com quase qualquer programa com o sinalizador suid root.

As exceções são o utilitário sudo, os utilitários chage e passwd no Fedora (protegidos por regras separadas do SELinux) e o utilitário snap-confine no Ubuntu (protegido por regras separadas do AppArmor). O método de exploração proposto também não funciona no RHEL 8 e RHEL 9, embora essas ramificações sejam suscetíveis a vulnerabilidades.

Considerando a vulnerabilidade identificada no carregador dinâmico da biblioteca GNU C e seu impacto potencial nos sistemas, a Unidade de Pesquisa de Ameaças Qualys aconselha as equipes de segurança a priorizar a abordagem deste problema.

Conforme mencionado acima, a capacidade de explorar a vulnerabilidade com sucesso foi demonstrada no Fedora 37 e 38, Ubuntu 22.04 e 23.04, Debian 11, 12 e 13.

Se supõe que a vulnerabilidade também aparecerá em qualquer outra distribuição que use Glibc. Embora as distribuições baseadas na biblioteca C do sistema Musl, como Alpine Linux, não sejam afetadas pelo problema. Quanto à solução para a vulnerabilidade, ela foi distribuída em forma de patch, que foi adicionado no dia 2 de outubro.

Em relação ao lançamento do código xploit, é mencionado que ele será lançado posteriormente, assim que a vulnerabilidade for corrigida em todos os lugares. Você pode verificar a vulnerabilidade do seu sistema usando o seguinte comando, que falhará se houver um problema:

Finalmente se você estiver interessado em saber mais sobre isso, você pode verificar os detalhes no link a seguir