Descubrieron una vulnerabilidad en Polkit, un componente para controlar sistemas con todos los privilegios presente en la mayoría de las distribuciones de Linux. Este componente cuenta con pkexec, una herramienta que permite a un usuario sin privilegios ejecutar comandos como si fuera otro usuario y con los máximos privilegios. La vulnerabilidad fue registrada como CVE-2021-4034 y apodada PwnKit. Una particularidad es que existe desde 2009, por lo que afecta a todas las versiones de Polkit.
La explotación exitosa de esta CVE permite a un usuario local sin privilegios obtener acceso root en el host vulnerable. Además, investigadores de Qualys, responsables del hallazgo, desarrollaron un exploit y comprobaron que podían obtener privilegios root en Ubuntu, Debian, Fedora y CentOS. También aseguran que probablemente otras distribuciones de Linux sean vulnerables a PwnKit.
Si bien los investigadores mencionan que la explotación del fallo es sencilla, no deja de sorprender que menos de tres horas después de se publicara el análisis técnico de la vulnerabilidad por parte de Qualys, se haya publicado un exploit que medios como BleepingComputer confirman que funciona y permite obtener privilegios root en un sistema. Asimismo, Will Dorman, analista del CERT Coordination Center confirmó que funciona en sistemas ARM64.
El error radica en que pkexec no manipula correctamente los parámetros de llamada y termina intentando ejecutar variables de entorno como comandos. Los investigadores recomiendan instalar los parches que publicaron los autores de Polkit. La mayoría de los distribuidores de Linux están trabajando en un parche que estiman saldrá a la brevedad. Ubuntu ya lanzó un parche que corrige la vulnerabilidad para las versiones ESM 14.04 y 16.04 y para las versiones 18.04, 20.04 y 21.10.
Si bien no puede ser explotada remotamente y es necesario que el atacante obtenga acceso local a una cuenta, se trata de una vulnerabilidad importante. Además, si bien ya se lanzó un exploit, es esperable que aparezcan otros.