Dirty Pipe: novo bug do Linux dá acesso root nas principais distros

O pesquisador de segurança Max Kellermann revelou nesta segunda-feira (7) uma nova vulnerabilidade que atinge várias distros Linux. Chamada de ‘Dirty Pipe’, ela afeta o Kernel 5.8 e versões posteriores, incluindo dispositivos Android.

Rastreada como CVE-2022-0847, a vulnerabilidade permite que a usuários sem privilégios injetar e subescrever dados em arquivos de somente leitura, incluindo processos SUID que rodam como root.

Imagem: Tecmasters

A descoberta veio enquanto Kellerman rastreava um outro bug que estava corrompendo logs de acesso ao servidor web de um dos seus clientes. Segundo o pesquisador, a nova vulnerabilidade é semelhante ao Dirty Cow (CVE-2016-5195), corrigida em 2016.

O Dirty Pipe foi revelado aos mantenedores do Linux, à equipe de segurança do kernel Linux e do Android no dia 20 de fevereiro.

Exploits dão privilégios root

Ao divulgar a nova vulnerabilidade Dirty Pipe, Kellerman também lançou uma exploit de prova de conceito (PoC), que permite usuários locais injetarem seus próprios dados sensíveis em modo somente leitura, removendo restrições ou modificando configurações para ter mais acesso do que normalmente teriam.

O pesquisador de segurança Phith0n exemplificou como usar o exploit para modificar arquivos /etc/passwd para que o usuário root não tenha uma senha. Uma vez feita esta mudança, o usuário não-privilegiado poderia simplesmente executar o comando ‘su root’ para obter acesso à conta root.

Why did I overwrite the /etc/passwd?
Because this file saves all the user information on Linux.
I remove the "x" flag behind the "root" user, it means that I set an empty password for this user. So I can use "su root" to escalate privilege without credentials.

— Phith0n (@phithon_xg) March 7, 2022

No mesmo dia, o pesquisador de segurança BLASTY lançou publicamente um exploit atualizado, o que torna ainda mais fácil ganhar privilégios root por meio da correção do comando /usr/bin/su para soltar uma shell root em /tmp/sh e depois executar o script, para ganhar privilégios root.

Hacked up a quick Dirty Pipe PoC that spawns a shell by hijacking (and restoring) the contents of a setuid binary. https://t.co/q8NtTlbgOZ pic.twitter.com/jxYUKYVCBo

— blasty (@bl4sty) March 7, 2022

É importante destacar que o bug já foi corrigido nas versões 5.16.11, 5.15.25 e 5.10.102 do kernel Linux, porém muitos servidores ainda continuam rodando kernels desatualizados, tornando o lançamento desse exploit um problema significativo para administradores de servidores.

Não só, a facilidade de ganhar privilégios root usando esses exploits significa que a vulnerabilidade, em algum momento, poderá ser utilizada para conduzir ataques.

A vulnerabilidade preocupa espacialmente deve preocupar provedores de hospedagem web que oferecem acesso shell Linux ou universidades que geralmente fornecem acesso shell a sistemas Linux multiusuário.

Nos últimos 12 meses, foram divulgadas várias vulnerabilidades de elevação de privilégios no Linux, como no subsistema Linux iSCSI; outro bug do kernel, no Filtro de Pacotes Estendido (eBPF) e no componente pkexec do Polkit.

Via BleepinComputer