El viernes 29 de marzo de 2024 la comunidad Linux se vio conmocionada por un aviso urgente emitido por Red Hat (IBM). En este post explicamos cuál es exactamente el problema de seguridad con XZ Utils, cuáles son las distribuciones Linux afectadas y cómo solucionarlo.
La biblioteca xz utils en Linux es un conjunto de utilidades de compresión y descompresión de datos que podemos encontrar en casi todas las distribuciones de Linux. Se usa principalmente para la compresión de archivos de gran tamaño en formatos que ocupen menos espacio.
El problema de seguridad con XZ Utils
El reporte de seguridad, que recibió una puntuación de 10.0 (La máxima gravedad) afecta a las versiones 5.6.0 y 5.6.1. La primera fue liberada el 24 de febrero y la segunda el 9 de marzo. Según el reporte de Red Hat:
A través de una serie de ofuscaciones complejas, el proceso de compilación liblzma extrae un archivo objeto preconstruido de un archivo de prueba disfrazado existente en el código fuente, que luego se utiliza para modificar funciones específicas en el código liblzma
Esto da como resultado una biblioteca liblzma modificada que puede ser utilizada por cualquier software vinculado a esta biblioteca, interceptando y modificando la interacción de datos con esta biblioteca.
El código malicioso, introducido en uno de los repositorios GitHub del proyecto, fue agregado por un usuario identificado como Jia Tan. Su función específica es interferir con el proceso del demonio sshd para SSH (Secure Shell) a través de systemd, y eventualmente facilitar que los delincuentes informáticos quiebren la autenticación sshd y logren acceso no autorizado al sistema de manera remota.
Todos los repositorios vinculados con el denominado Proyecto Tukani (Del que mencionado Jia Tan participaba) fueron dados de baja por GitHub, aunque el mantenedor original negó cualquier participación en el tema.
Las distribuciones afectadas
En su mayor parte las afectadas son distribuciones en fase de prueba o rolling release aunque todas ya liberaron actualizaciones de seguridad.
- Fedora 40, Fedora 41 y Fedora Rawhide.
- Kali Linux actualizada entre el 26 y 29 de marzo.
- openSUSE Tumbleweed y openSUSE MicroOS actualizadas entre el 7 y el 28 de marzo.
- Debian Testing, Unstable y Experimental.
En el caso de Ubuntu 24.04 los paquetes afectados estaban propuestos para ser agregados pero no habían llegado a instalarse.
Descargo de responsabilidad
Lasse Collins, mantenedor del proyecto Tukaani, responsable de la biblioteca, hizo las siguientes aclaraciones:
- El repositorio git git.tukaani.org sigue activo.
- Solo los paquetes firmados por Jia Tan están afectados.
- Dado que GitHub no solo movió el repositorio de Jia Tan sino todo lo relacionado con la biblioteca incluyendo la web, es posible que en adelante el proyecto continúe con el dominio tukaani.org.
El descubrimiento
Quien primero detectó el problema fue un investigador vinculado a Microsoft llamado Andrés Freund al que le llamó la atención el excesivo consumo de CPU de Debian Sid cuando iniciaba sesión mediante SSH. Andrés es de la opinión de que Jia Tan es el responsable dada la difusión que hizo de sus parches en diferentes listas de correo.
Lo que podemos aprender
En este caso, las ventajas del software libre y de código abierto jugaron a nuestro favor. Un investigador detectó el problema y fue solucionado en forma rápida. Pero, antes de felicitarnos pensemos:
- Para el experto en seguridad Thadeus Grugq detrás de esto hay la estructura de un país. De no detectarse el problema los atacantes hubieran tenido acceso a la mayor parte de las distribuciónes Linux conectadas a Internet.
- Según el especialista en criptografía Fillippo Valsorda, este podría ser el ataque mejor ejecutado que hemos visto descrito en abierto, y es un escenario de pesadilla: malicioso, bien hecho y que pasó todos los controles en una biblioteca muy utilizada.
El origen del problema está en este mensaje publicado en el 2022 por el mantenedor original del proyecto
No he perdido el interés, pero mi capacidad para cuidar ha sido bastante limitada, principalmente debido a problemas de salud mental a largo plazo, pero también debido a algunas otras cosas. Recientemente he trabajado con Jia Tan en XZ Utils y tal vez tenga un papel más importante en el futuro, ya veremos.
También es bueno tener en cuenta que se trata de un proyecto de hobby no remunerado.
De todos modos, les aseguro que conozco demasiado bien el problema que no se ha avanzado mucho. La idea de encontrar nuevos mantenedores también ha existido durante mucho tiempo, ya que la situación actual es obviamente mala y triste para el proyecto.
No es la primera vez que tenemos problemas en el mundo del software libre porque las grandes distribuciones utilizan componentes desarrollados por voluntarios mal pagados y muchas veces agotados que hacen lo que pueden en su tiempo libre Y, parece que los delincuentes informáticos han decidido aprovecharlos