La vulnerabilidad de escalada de privilegios en Polkit, PwnKit, ha estado escondida a simple vista durante más de una década —12 años para ser exactos— en Linux. La vulnerabilidad fue identificada por los investigadores de Qualys en noviembre de 2021. Las vulnerabilidades de escalada de privilegios, como PwnKit (CVE-2021-4034), permiten a los usuarios locales sin privilegios conseguir privilegios de root.
La vulnerabilidad PwnKit se reveló el 25 de enero de 2022. Al final del artículo, se incluye una lista de los parches que ya han publicado las principales distribuciones de Linux para solucionar este problema de seguridad.
PwnKit (CVE-2021-4034)
PwnKit (CVE-2021-4034) es una vulnerabilidad de escalada de privilegios que permite a usuarios locales sin privilegios que consigan todos los privilegios de root en cualquier distribución de Linux vulnerable. Para ello, los usuarios locales sin privilegios explotan la vulnerabilidad en su configuración por defecto.
La vulnerabilidad de escalada de privilegios está dentro de una herramienta llamada «Polkit». Según el equipo de investigación de Qualys, que identificó la vulnerabilidad en noviembre de 2021, tiene su origen en una vulnerabilidad de corrupción de memoria en pkexec de Polkit. La vulnerabilidad afecta a todas las versiones de pkexec desde su creación en mayo de 2009.
Polkit y pkexec
Polkit es el software que se encarga de controlar los privilegios de sistema en sistemas operativos basados en Unix. Anteriormente conocido como «PolicyKit». Esta herramienta se ha incluido por defecto en prácticamente todas las nuevas distribuciones de Linux desde 2009.
Polkit permite a procesos sin privilegios comunicarse con procesos con privilegios y también se puede usar para ejecutar comandos con muchos privilegios, utilizando el comando «pkexec».
Pkexec es un programa SUID-root instalado por defecto en todas las principales distribuciones de Linux.
Parches de PwnKit disponibles para Debian, Ubuntu y Red Hat Enterprise Linux
Aunque el equipo de investigación de Qualys solo revisó y explotó la vulnerabilidad PwnKit en Ubuntu, Debian, Fedora, CentOS Linux y Red Hat Enterprise Linux (RHEL), se ha dado por hecho que también afecta a otras distribuciones más pequeñas.
La siguiente lista recopila los parches disponibles para las principales distribuciones de Linux:
- Parche de seguridad de PwnKit para Debian
- Parche de seguridad de PwnKit para Ubuntu
- Parche de seguridad de PwnKit para RHEL
En caso de que no haya un parche disponible para la distribución de Linux que utilices, puedes mitigar la explotación eliminando el SUID-bit de pkexec. Para ello se puede usar el siguiente comando:
# chmod 0755 /usr/bin/pkexec
Referencia en español: Aviso de seguridad de PwnKit de INCIBE-CERT