Linux en español
Vulnerabilidades Wayland
Noticias

Vulnerabilidades en el administrador de teclas rápidas de Wayland

4 minutos de lectura

Hace pocos dias se dio a conocer la noticia de que fueron encontradas una serie de vulnerabilidades en swhkd (Simple Wayland HotKey Daemon) provocadas por un manejo incorrecto de archivos temporales, opciones de línea de comandos y sockets unix.

El programa está escrito en Rust y maneja teclas de acceso rápido en entornos basados ​​en el protocolo Wayland (un análogo compatible con archivos de configuración del proceso sxhkd utilizado en entornos basados ​​en X11). El paquete incluye un proceso swhks sin privilegios que realiza acciones para las teclas de acceso rápido y un proceso en segundo plano swhkd que se ejecuta como root e interactúa con los dispositivos de entrada en el nivel de la API uinput . Para organizar la interacción entre swhks y swhkd, se utiliza un socket Unix.

HIT Closer

Las reglas de Polkit permiten que cualquier usuario local ejecute el proceso /usr/bin/swhkd como root y le pase parámetros arbitrarios.

La integración del paquete RPM presentado para openSUSE Tumbleweed contenía reglas de Polkit inusuales en el archivo de definición que requirió una revisión por parte del equipo de seguridad de SUSE.

Como resultado de la revisión, se identificaron múltiples problemas de seguridad. Los problemas individuales se describen en el siguiente informe detallado.

De las vulnerabilidades que fueron identificadas, se mencionan las siguientes:

Tabla de contenidos

CVE-2022-27815

Esta vulnerabilidad permite poder guardar un PID de proceso en un archivo con un nombre predecible y en un directorio que otros usuarios puedan escribir (/tmp/swhkd.pid), con lo cual cualquier usuario puede crear un archivo /tmp/swhkd.pid y poner el pid de un proceso existente en él, lo que hará que sea imposible iniciar swhkd.

En ausencia de protección contra la creación de enlaces simbólicos en /tmp, la vulnerabilidad se puede utilizar para crear o sobrescribir archivos en cualquier directorio del sistema (el PID se escribe en el archivo) o determinar el contenido de cualquier archivo en el sistema (swhkd genera el todo el contenido del archivo PID a stdout). Cabe señalar que en la corrección publicada, el archivo PID no se movió al directorio /run, sino al directorio /etc (/etc/swhkd/runtime/swhkd_{uid}.pid), donde tampoco pertenece.

CVE-2022-27814

Esta vulnerabilidad permite manipular la opción de línea de comando «-c» para especificar un archivo de configuración puede determinar la existencia de cualquier archivo en el sistema.

Como en el caso de la primera vulnerabilidad, solucionar el problema es desconcertante: solucionar el problema se reduce al hecho de que la utilidad externa «cat» (‘Command::new(«/bin/cat»).arg(ruta) es ahora lanzado para leer el archivo de configuración.output()’).

CVE-2022-27819

Este problema también está relacionado con el uso de la opción «-c», que carga y analiza todo el archivo de configuración sin verificar el tamaño y el tipo del archivo.

Por ejemplo, para provocar una denegación de servicio debido al agotamiento de la memoria libre y la creación de E/S parásitas, puede especificar un dispositivo de bloque al inicio («pkexec /usr/bin/swhkd -d -c /dev/sda») o un dispositivo de caracteres que emite un flujo infinito de datos.

El problema se resolvió restableciendo los privilegios antes de abrir el archivo, pero la solución no estaba completa, ya que solo se restablece la ID de usuario (UID), pero la ID de grupo (GID) sigue siendo la misma.

CVE-2022-27818

Esta vulnerabilidad permite poder usar un archivo /tmp/swhkd.sock para crear un socket Unix, que se crea en un directorio público grabable, lo que genera problemas similares a los de la primera vulnerabilidad (cualquier usuario puede crear /tmp/swhkd. sock y generar o interceptar eventos de pulsación de teclas).

CVE-2022-27817

En esta vulnerabilidad, los eventos de entrada se reciben de todos los dispositivos y en todas las sesiones, es decir, un usuario de otra sesión de Wayland o de la consola puede interceptar eventos cuando otros usuarios presionan teclas de acceso rápido.

CVE-2022-27816

El proceso swhks, como swhkd, usa el archivo PID /tmp/swhks.pid en el directorio /tmp de escritura pública. El problema es similar a la primera vulnerabilidad, pero no tan peligroso, ya que swhks se ejecuta bajo un usuario sin privilegios.

Finalmente si estás interesado en poder conocer más al respecto, puedes consultar los detalles en el siguiente enlace.

5/5 - (1 voto)

Entradas relaccionadas

Linux 6.9 mejora el desempeño de los procesadores Intel y AMD, entre otras novedades

Redacción

Fedora 38 llega consolidando a Kinoite en el escritorio y con Sway pisando fuerte

Redacción

La familia crece: Ubuntu Cinnamon ya es un ‘sabor’ oficial

Redacción

Una vulnerabilidad en Vim permitía la ejecución de código al abrir un TXT

Linux en Español

Ubuntu 23.10 podría estrenar la nueva tienda, hecha con Flutter

Redacción

Thunderbird Snap se postula para Ubuntu 24.04 LTS

Redacción

Este sitio web utiliza cookies para mejorar su experiencia. Asumiremos que está de acuerdo con esto, pero puede optar por no participar si lo desea. Aceptar Leer más

Política de privacidad y cookies