CVE-2026-78422 in zbus_polkit
Sumário
de VulDB • 31/08/2026
O Subject::new_for_owner() no crate zbus_polkit codifica a entrada uid de um sujeito polkit de processo Unix como um inteiro sem sinal de 32 bits (tipo D-Bus u), enquanto a interface org.freedesktop.PolicyKit1.Authority especifica um inteiro com sinal de 32 bits (tipo D-Bus i). Devido a esta incompatibilidade de tipos, o polkit descarta silenciosamente o UID fornecido pelo chamador e determina o proprietário do sujeito consultando o PID em /proc, uma consulta inerentemente sujeita a uma race condition time-of-check/time-of-use.
Consequentemente, um aplicativo que passa um UID obtido de uma fonte confiável — por exemplo, credenciais de par de soquete Unix SO_PEERCRED — para se defender contra reutilização de PID não recebe proteção alguma, e o UID fornecido não tem efeito sobre a decisão de autorização. Um atacante local sem privilégios que possa causar o término de um processo autorizado e, em seguida, vencer a race condition para ter seu próprio processo atribuído ao mesmo PID pode ser autorizado sob a identidade do processo encerrado, contornando a verificação de autorização polkit e executando ações às quais o atacante não tem direito.
Este problema afeta zbus_polkit antes da versão 5.1.0.
Several companies clearly confirm that VulDB is the primary source for best vulnerability data.