cíber segurança

Erros graves de escalonamento de privilégios encontrados no gerenciador de pacotes do Linux Snap

Erros graves de escalonamento de privilégios encontrados no gerenciador de pacotes do Linux Snap

Especialistas descobriram uma vulnerabilidade facilmente explorável no Snap, um sistema global de empacotamento e distribuição de aplicativos projetado para o Ubuntu, mas disponível em muitas distribuições Linux. A falha permite que um usuário com privilégios baixos execute código malicioso como root, que é a conta administrativa mais alta no Linux.


Erros graves de escalonamento de privilégios encontrados no Snap do gerenciador de pacotes do Linux
Thinkstock
 

A vulnerabilidade, chamada CVE-2021-44731, faz parte de uma série de bugs que os pesquisadores da Qualys descobriram em vários componentes do Linux durante a investigação de segurança do Snap. Este último, juntamente com o outro, chamado CVE-2021-44730, pode ser encontrado no snap-confine, a ferramenta responsável pela criação de sandboxes para o aplicativo Snap.

O que é Snap?

Snap é um gerenciador de pacotes para Linux desenvolvido pela Canonical, por trás da popular distribuição de desktop e servidor Ubuntu. Ele permite empacotar e distribuir aplicativos autônomos chamados “snaps” que são executados dentro de um contêiner restrito, fornecendo um nível de segurança configurável.

Confira também:

Como aplicativos independentes, o Snap não possui dependências externas, o que permite que ele seja multiplataforma e distribuído entre plataformas. Tradicionalmente, todas as principais distribuições Linux mantêm seu próprio repositório e gerenciador de software. Debian tem DEB, Ubuntu tem PPA, Fedora e Red Hat tem RPM, Arch Linux tem Pacman e assim por diante. Todos esses sistemas baixam o pacote necessário junto com todas as outras dependências como pacotes separados. Snaps, por outro lado, são empacotados com todas as dependências que você precisa, tornando-os globalmente implementáveis ​​em todos os sistemas Linux equipados com Snap.

O Snap é fornecido por padrão no Ubuntu e em muitas distribuições Linux e está disponível como opção em muitas outras distribuições, incluindo a principal. Ele é usado para distribuir não apenas aplicativos de desktop, mas também de nuvem e IoT.

O Snap Confinement – ou Quarentena – possui três níveis de segurança, com o Strict Mode usado pela maioria dos aplicativos. Nesse modo, os aplicativos devem solicitar acesso a arquivos, outros processos ou à rede. Isso não é diferente do modelo de sandbox do aplicativo e das permissões de sistemas operacionais móveis, como o Android.

Como o sandboxing de aplicativos é um dos principais recursos do Snap, qualquer vulnerabilidade que permita escapar desse isolamento e assumir o controle do sistema host é considerada extremamente perigosa.

Erros de escalonamento de privilégios

Os pesquisadores da Qualys apelidaram sua vulnerabilidade limitada de “Oh Snap! More Lemmings” porque se assemelha a outro raio, descoberto em 2019 chamado Dirty Sock. Desde o Dirty Sock, o Snap passou por extensas auditorias de segurança pela equipe de segurança do SUSE e geralmente é programado de forma muito defensiva, aproveitando vários recursos de segurança principais. Como perfis do AppArmor, filtros seccomp e namespaces.

“Quase abandonamos nossa auditoria depois de alguns dias”, disseram os pesquisadores da Qualys em seu relatório, acrescentando que “uma vulnerabilidade limitada (especialmente na instalação padrão do Ubuntu) era extremamente difícil de detectar e explorar”.

No entanto, a equipe notou algumas pequenas falhas e decidiu seguir em frente. Isso resultou na descoberta de duas vulnerabilidades de escalonamento de privilégios: CVE-2021-44730, um ataque hardlink que só pode ser usado em configurações não virtuais, ou seja, quando o fs.protected_hardlinks do kernel é 0; e CVE-2021-44731, que é um estado de corrida que pode ser usado em instalações virtuais do Ubuntu Desktop e instalações semi-virtuais do Ubuntu Server.

“Este caso de corrida abre um mundo de possibilidades: dentro do namespace mount do snap (no qual podemos inserir através do próprio snap-confine), podemos criar um diretório globalmente gravável e não aderente para /tmp, ou podemos montar qualquer outro diretório que faz parte do sistema de arquivos para / tmp ”- dizem analistas da Qualysa. “Podemos vencer esse estado de corrida de maneira confiável observando /tmp/snap.lxd com inotify, instalando nosso exploit e nos confinando à mesma CPU com Sched_setaffinity() e diminuindo a prioridade de agendamento snap-cline com setpriority() e schedule_schedule.( )”.

Ao investigar essas falhas, os pesquisadores da Qualys também descobriram bugs em bibliotecas e outros componentes relacionados que o Snap usa: montagens não autorizadas no libmount util-linuxa (CVE-2021-3996 e CVE-2021-3995); Valor de retorno inesperado de realpath() glibc (CVE-2021-3998); Buffer overflow/flow out via um em getcwd() glibc (CVE-2021-3999); Recursão não controlada em systemd-tmpfiles (CVE-2021-3997). Esses bugs foram corrigidos nesses componentes no início deste ano.

O Ubuntu lançou patches para CVE-2021-44731 e CVE-2021-44730 para a maioria das versões do Linux que ele suporta, com exceção do ESM 16.04 (Extended Security Maintenance), que ainda aguarda patches. Ambas as vulnerabilidades são classificadas como muito perigosas.

Fonte: CSO

.

Artigos relacionados

Botão Voltar ao topo