Corrigida uma falha de segurança de 7 anos, presente em componente do kernel Linux!

Embora os sistemas baseados no kernel Linux sejam “por definição” estáveis e seguros (além de plataformas de software maravilhosas, mas esta é uma opinião pessoal e para lá de parcial), isto não quer dizer que não devemos tomar todas as precauções necessárias, para deixá-los blindados contra as ameaças e vulnerabilidades. Por ser um Software Livre, a disponibilidade do código-fonte contribui muito para que milhares de auditores encontrem falhas de segurança, reportem-na e assim, as correções necessárias são lançadas “o quanto antes”. O que nem sempre acontece…

“The good news is the seven-year-old security bug in Linux systemd’s polkit, used in many Linux distros, has been patched. The bad news is that it was ever there in the first place. Polkit, which systemd uses in place of sudo, enables unauthorized users to run privileged processes they’d otherwise couldn’t run. It turned out that you could also abuse polkit to get root access to a system. Can you say, ‘Ow!’?”

— by ZDNet.

Kevin Backhouse, um dos membros do Laboratório de Segurança do GitHub, encontrou uma falha de segurança no Polkit, um componente do sistema que possibilita os processos sem acesso privilegiado (non-root), se comunicar com outros dotados de acesso privilegiado. A seguir, ele revelou a descoberta para os desenvolvedores oficiais deste componente e a equipe de segurança da Red Hat, culminando no lançamento da correção (0.119) no dia 3/jun (CVE-2021-3560). O problema em questão é que a falha encontrada é antiga, mas foi trazida para as versões mais recentes do componente (backport) e por isso, a versão do Polkit afetada pode estar disponível nas versões mais recentes da distribuição (como Debian 10 Testing, RHEL 8.x e Ubuntu 20.04).

Ainda assim, para que a falha de segurança entre em ação, o Polkit deverá se conectar ao dbus-daemon (um canal de comunicação designado a troca de mensagens entre processos), solicitando o ID do usuário dono do processo várias vezes, que por sua vez é tratado pelas rotinas de código do componente (e uma delas não funciona como deveria). Felizmente, dada as suas particularidades e a cadeia de eventos necessária para a falha possa ser “devidamente” explorada, o êxito será algo bastante imprevisível, já que o atacante necessitará efetuar várias tentativas até conseguir o resultado desejado. No entanto, a falha em questão é facilmente explorável, obrigando os usuários a realizarem a atualização do sistema o mais rápido possível.

Distribuições populares, como a Red Hat, o Debian e o Ubuntu, já promoveram as devidas correções para este problema, através do pacote PolicyKit-1 (0.105). Quanto as demais distribuições, acredito que já tenham feito o mesmo. Ainda assim, não deixem de conferir nas seções designadas para a segurança e a atualização, da página oficial da sua distribuição preferida.

E o mais interessante: 3/jun caiu numa quinta-feira… &;-D