Llegamos a ustedes gracias a:



Alertas de Seguridad

Una falla de PwnKit en las instalaciones por defecto de Linux

Requiere un parche urgente

[26/01/2022] Investigadores de seguridad han encontrado una vulnerabilidad de escalada de privilegios en pkexec, una herramienta presente por defecto en muchas instalaciones Linux. La falla, denominado PwnKit, podría permitir a los atacantes obtener fácilmente privilegios de root en los sistemas si tienen acceso a un usuario normal sin privilegios administrativos.

Los investigadores de la empresa de seguridad Qualys que descubrieron y notificaron la vulnerabilidad pudieron confirmar que es explotable en las configuraciones por defecto de algunas de las distribuciones de Linux más populares, como Ubuntu, Debian, Fedora y CentOS. Creen que es probable que otras estén afectadas también, ya que el código vulnerable ha existido en pkexec desde la primera versión de la herramienta, hace más de 12 años.

¿Qué es la falla de PwnKit?

Pkexec forma parte de un componente de Linux conocido como PolicyKit o PolKit, que proporciona una API de autorización a través de la cual los programas sin privilegios pueden acceder a funciones ofrecidas por programas o servicios con privilegios. La propia utilidad pkexec también permite a los usuarios ejecutar comandos como otro usuario y, si no se especifica ningún usuario, ejecutará los comandos como root, la cuenta con mayores privilegios en los sistemas Linux y UNIX.

Los investigadores encontraron un error de memoria fuera de límites, ahora rastreado como CVE-2021-4034, en el código de pkexec que permite a los atacantes pasar variables de entorno peligrosas como LD_PRELOAD al flujo de ejecución. LD_PRELOAD es una variable opcional que indica a un programa una ruta personalizada donde debe buscar bibliotecas u objetos compartidos y cargarlos antes que cualquier otra biblioteca durante la ejecución.

Normalmente, existe un mecanismo que debería borrar dichas variables de entorno peligrosas antes de que se ejecuten los comandos pkexec. Debido a la vulnerabilidad de la memoria, los atacantes pueden saltarse este mecanismo. Los investigadores de Qualys no han explicado esta parte del exploit en detalle, y no publicarán todavía una prueba de concepto para la vulnerabilidad debido al alto riesgo y al amplio impacto asociado con la falla.

"La versión actual de pkexec no maneja correctamente el recuento de parámetros de llamada y acaba intentando ejecutar variables de entorno como comandos", explicó Red Hat en un aviso de seguridad. "Un atacante puede aprovechar esto elaborando las variables de entorno de tal manera que induzca a pkexec a ejecutar código arbitrario".

Dado que se trata de una vulnerabilidad de escalada de privilegios local, no puede ser explotada de forma remota. Los atacantes necesitan obtener primero acceso a una cuenta local en el sistema. Sin embargo, aunque generalmente no se califican como críticas, las vulnerabilidades de escalada de privilegios locales son una parte importante de las cadenas de explotación modernas.

Debido a los mecanismos de anti-explotación existentes en los sistemas operativos y aplicaciones modernas, los atacantes a menudo necesitan encadenar múltiples vulnerabilidades para obtener un acceso completo al sistema. La ejecución remota de código en el contexto de un usuario sin privilegios puede obtenerse de diversas maneras, por ejemplo, explotando una vulnerabilidad independiente o una configuración errónea en otra aplicación o servicio, o engañando a un usuario para que ejecute una aplicación maliciosa. Por ello, las vulnerabilidades de escalada de privilegios fáciles de explotar en componentes que existen por configuración predeterminada en millones de sistemas suponen un riesgo muy grave.

Mitigación de la vulnerabilidad pkexec

La mayoría de las distribuciones de Linux están en proceso de publicar parches para pkexec o han documentado mitigaciones temporales alternativas (Red Hat, Debian y Ubuntu). Se aconseja a los usuarios desplegar los parches tan pronto como estén disponibles para su variante y versión de Linux.

Los usuarios de Red Hat pueden utilizar SystemTap para desplegar una mitigación temporal. SystemTap es una utilidad de administración y monitorización del sistema que permite a los usuarios escribir y ejecutar scripts como módulos del kernel. El boletín de seguridad de la compañía para CVE-2021-4034 incluye un script SystemTap de mitigación que está diseñado para bloquear pkexec. Las limitaciones son que el script necesita ser recargado en el kernel cada vez que se reinicia el sistema y que no funciona en sistemas con Secure Boot activado. Esto se debe a que el mecanismo de Secure Boot está diseñado para verificar que todos los módulos del kernel estén firmados con una clave de desarrollador de confianza y los scripts de SystemTap son generados por el usuario y no están firmados.

En los sistemas habilitados para Secure Boot "SystemTap requeriría un servidor de compilación externo para poder firmar el módulo del kernel generado con una clave inscrita en el llavero del kernel", explicó la compañía. Red Hat también ha creado un script que puede detectar si un sistema es vulnerable y otro playbook de Ansible que puede automatizar el despliegue de la mitigación.

El investigador de seguridad Florian Roth ha actualizado su configuración auditd de código abierto para incluir una regla que puede detectar los intentos de explotación de CVE-2021-4034. El sistema de auditoría de Linux (auditd) es una función nativa del núcleo de Linux que puede utilizarse para registrar la actividad del sistema y facilitar la investigación de incidentes.