Vulnerabilidade na implementação de sockets AF_PACKET do kernel Linux

Após três anos do surto de vulnerabilidades (1, 2, 3, 4, 5) no subsistema AF_PACKET do kernel Linux foi identificada mais um problema (CVE-2020-14386), que permite que um usuário local não privilegiado execute código com privilégios de root ou escape de contêineres isolados, desde que tenha acesso root dentro deles.

Para criar um socket AF_PACKET e explorar a vulnerabilidade, é necessário ter as permissões CAP_NET_RAW. No entanto, essa permissão pode ser adquirida por um usuário não privilegiado em contêineres criados em sistemas com suporte a namespaces de identificação de usuários ativado. Por exemplo, namespaces de usuários estão ativados por padrão no Ubuntu e Fedora, mas não estão habilitados no Debian e RHEL. No Android, o processo mediaserver tem o direito de criar sockets AF_PACKET, através do qual a vulnerabilidade pode ser explorada.

A vulnerabilidade está presente na função tpacket_rcv e é causada por um erro no cálculo da variável netoff. Um atacante pode criar condições em que a variável netoff seja atribuída um valor menor que a variável maclen, o que causará um estouro no cálculo de "macoff = netoff - maclen" e uma subsequente configuração incorreta do ponteiro para o buffer de dados recebidos. Como resultado, um atacante pode iniciar uma gravação de 1 a 10 bytes na área fora do buffer alocado. Observa-se que um exploit está em desenvolvimento, permitindo a obtenção de privilégios de root no sistema.

O problema está presente no kernel desde julho de 2008, ou seja, se manifesta em todos os núcleos atuais. A correção está disponível por enquanto na forma de patch. É possível acompanhar o lançamento de atualizações de pacotes nas distribuições nas seguintes páginas: Ubuntu, Fedora, SUSE, Debian, RHEL, Arch.

Fonte: opennet.ru

Compre hospedagem confiável para sites com proteção contra DDoS, servidores VPS VDS 🔥 Compre hospedagem confiável para sites com proteção contra DDoS, servidores VPS VDS | ProHoster