Hace poco fueron lanzadas las actualizaciones correctivas del kit de herramientas Flatpak para las diferentes versiones 1.14.4, 1.12.8, 1.10.8 y 1.15.4, las cuales ya están disponibles y que llegan a solucionan dos vulnerabilidades.
Para quienes desconocen de Flatpak, deben saber que este hace posible que los desarrolladores de aplicaciones simplifiquen la distribución de sus programas que no están incluidos en los repositorios de distribución regulares al preparar un contenedor universal sin crear compilaciones separadas para cada distribución.
Para los usuarios conscientes de la seguridad, Flatpak permite que una aplicación cuestionable se ejecute en un contenedor, dando acceso solo a las funciones de red y archivos de usuario asociados con la aplicación. Para los usuarios interesados en las novedades, Flatpak les permite instalar las últimas versiones de prueba y estables de las aplicaciones sin tener que realizar cambios en el sistema.
La diferencia clave entre Flatpak y Snap es que Snap usa los componentes del entorno del sistema principal y el aislamiento basado en el filtrado de llamadas del sistema, mientras que Flatpak crea un contenedor separado del sistema y opera con grandes conjuntos de tiempo de ejecución, proporcionando paquetes típicos en lugar de paquetes como dependencias.
Sobre los fallos detectados en Flatpak
En estas nuevas actualizaciones de seguridad, se da la solución a dos errores detectados, uno de los cuales fue descubierto por Ryan Gonzalez descubrió (CVE-2023-28101) que los mantenedores maliciosos de la aplicación Flatpak podrían manipular u ocultar esta visualización de permisos solicitando permisos que incluyen códigos de control de terminal ANSI u otros caracteres no imprimibles.
Esto se solucionó en Flatpak 1.14.4, 1.15.4, 1.12.8 y 1.10.8 mostrando caracteres no imprimibles en formato de escape (\xXX, \uXXXX, \UXXXXXXXXX) para que no alteren el comportamiento del terminal, y también tratando caracteres no imprimibles en ciertos contextos como inválidos (no permitidos).
Al instalar o actualizar una aplicación Flatpak usando la CLI flatpak, al usuario normalmente se le muestran los permisos especiales que tiene la nueva aplicación en sus metadatos, para que puedan tomar una decisión algo informada sobre si permitir su instalación.
Al recuperar un permisos de la aplicación para mostrar al usuario, la interfaz gráfica continúa siendo responsable de filtrar o escapar cualquier carácter que tienen un significado especial para sus bibliotecas GUI.
Por la parte de la descripción de las vulnerabilidades, nos comparten lo siguiente:
- CVE-2023-28100: capacidad para copiar y pegar texto en el búfer de entrada de la consola virtual a través de la manipulación ioctl de TIOCLINUX al instalar un paquete Flatpak preparado por un atacante. Por ejemplo, la vulnerabilidad podría usarse para organizar el lanzamiento de comandos arbitrarios en la consola después de que se complete el proceso de instalación de un paquete de terceros. El problema aparece solo en la consola virtual clásica (/dev/tty1, /dev/tty2, etc.) y no afecta las sesiones en xterm, gnome-terminal, Konsole y otras terminales gráficas. La vulnerabilidad no es específica de flatpak y se puede utilizar para atacar otras aplicaciones, por ejemplo, anteriormente se encontraron vulnerabilidades similares que permitían la sustitución de caracteres a través de la interfaz ioctl de TIOCSTI en /bin/ sandbox y snap.
- CVE-2023-28101: capacidad de usar secuencias de escape en la lista de permisos en los metadatos del paquete para ocultar información sobre los permisos extendidos solicitados que se muestran en la terminal durante la instalación o actualización del paquete a través de la interfaz de línea de comandos. Un atacante podría utilizar esta vulnerabilidad para engañar a los usuarios sobre los permisos utilizados en el paquete. Se menciona que las interfaces gráficas para libflatpak, como GNOME Software y KDE Plasma Discover, no se ven directamente afectados por esto.
Finalmente, se menciona que como solución alternativa se puede usar una GUI como el Centro de software de GNOME en lugar de la línea de comandos
interfaz, o tambien se recomienda solo instalar las aplicaciones de cuyos mantenedores se confíe.
Si estás interesado en poder conocer más al respecto, puedes consultar los detalles en el siguiente enlace.