La falla de Polkit de 7 años permite a los usuarios de Linux sin privilegios obtener acceso de root

0
1299

Una vulnerabilidad de escalada de privilegios de siete años descubierta en el servicio del sistema polkit podría ser aprovechada por un atacante local malintencionado sin privilegios para evitar la autorización y escalar los permisos al usuario root.

Rastreada como CVE-2021-3560 (puntuación CVSS: 7.8), la falla afecta a las versiones de polkit entre 0.113 y 0.118 y fue descubierta por el investigador de seguridad de GitHub Kevin Backhouse, quien dijo que el problema se introdujo en una confirmación de código realizada el 9 de noviembre de 2013 Cedric Buissart de Red Hat señaló que las distribuciones basadas en Debian, basadas en polkit 0.105, también son vulnerables.

Polkit es un conjunto de herramientas para definir y manejar autorizaciones en distribuciones de Linux, y se utiliza para permitir que los procesos sin privilegios se comuniquen con los procesos con privilegios.

“Cuando un solicitan desconecta proceso de dbus-daemon justo antes de la llamada a aperturas polkit_system_bus_name_get_creds_sync, el proceso no puede conseguir un UID único y pid del proceso y no puede verificar los privilegios del proceso solicitante,” Red Hat dijo en un aviso. “La mayor amenaza de esta vulnerabilidad es la confidencialidad e integridad de los datos, así como la disponibilidad del sistema”.

RHEL 8, Fedora 21 (o posterior), Debian “Bullseye” y Ubuntu 20.04 son algunas de las distribuciones populares de Linux afectadas por la vulnerabilidad polkit. El problema se ha mitigado en la versión 0.119 , que se lanzó el 3 de junio.

hacking news

“La vulnerabilidad es sorprendentemente fácil de explotar. Todo lo que se necesita son unos pocos comandos en la terminal usando solo herramientas estándar como bash , kill y dbus-send “, dijo Backhouse en un artículo publicado ayer, agregando que la falla es provocada por enviando un comando dbus-send (digamos, para crear un nuevo usuario) pero terminando el proceso mientras polkit todavía está en el medio del procesamiento de la solicitud.

“dbus-send” es un mecanismo de comunicación entre procesos (IPC) de Linux que se utiliza para enviar un mensaje al bus de mensajes D-Bus , lo que permite la comunicación entre varios procesos que se ejecutan simultáneamente en la misma máquina. El demonio de autoridad de políticas de Polkit se implementa como un servicio conectado al bus del sistema para autenticar las credenciales de forma segura.

Al eliminar el comando, provoca una omisión de autenticación porque polkit maneja mal el mensaje terminado y trata la solicitud como si proviniera de un proceso con privilegios de root (UID 0), autorizando así inmediatamente la solicitud.

“Para activar la ruta de código vulnerable, debe desconectarse en el momento adecuado”, dijo Backhouse. “Y debido a que hay múltiples procesos involucrados, el tiempo de ese ‘momento correcto’ varía de una ejecución a la siguiente.

Por eso, generalmente se necesitan algunos intentos para que el exploit tenga éxito. Supongo que también es la razón por la que el error no fue descubierto previamente “.

Se anima a los usuarios a actualizar sus instalaciones de Linux lo antes posible para remediar cualquier riesgo potencial que surja de la falla.