El 29 de marzo, un ingeniero de Microsoft, Andres Freund, descubrió accidentalmente una puerta trasera (una forma ilegítima de acceso introducida deliberadamente en el software) en XZ Utils cuando observó que el inicio de sesión a través de SSH tardaba demasiado y consumía demasiados recursos, además de generar errores en el software de supervisión del consumo de memoria. Tras investigar, Freund detectó que el origen de este retraso y consumo de recursos estaba en la última versión de XZ Utils, y que alguien había creado deliberadamente una puerta trasera en el software de compresión.
Esta vulnerabilidad destaca por tener detrás un largo proceso de ingeniería social y orquestación por parte del atacante. La librería XZ Utils es de código abierto, por lo que cualquiera puede hacer contribuciones a la misma. En 2021, un usuario empezó a contribuir a otros proyectos, y en 2022 contribuyó al proyecto XZ, con lo que varias personas presionaron al responsable del desarrollo y mantenimiento de XZ Utils, Lasse Collin, para que admitiera a un contribuyente en el proyecto porque no se estaba actualizando con frecuencia. Mientras este usuario, identificado como Jia Tan, realizaba contribuciones a XZ Utils, introdujo de forma encubierta la puerta trasera y consiguió realizar cambios que hicieron ineficaz la detección por parte de las herramientas de detección de vulnerabilidades. Así, con la puerta trasera oculta en archivos de prueba, las versiones 5.6.0 y 5.6.1 eran vulnerables.
La detección accidental permitió evitar la propagación completa de esta puerta trasera, que habría hecho vulnerable a la mayoría significativa de los sistemas Linux a la ejecución arbitraria de código, lo que permitiría a cualquier atacante con una clave de cifrado predeterminada ejecutar cualquier código en una máquina vulnerable.
Esta vulnerabilidad, con CVE CVE-2024-309, fue afortunadamente mitigada antes de que se produjeran daños mayores y Jia Tan, aún sin identificar y bajo sospecha de ser un pseudónimo fabricado por un grupo como ATP29 o Cozy Bear, fue eliminado de todos los proyectos. XZ Utils fue purgado de todas las "contribuciones", sin embargo, cualquier usuario que descubra que todavía tiene una de las dos versiones afectadas (5.6.0 y 5.6.1) debería actualizarla lo antes posible.
XZ Utils
XZ Utils es un conjunto de herramientas y bibliotecas de código abierto que se utiliza de forma casi omnipresente en máquinas Linux, proporcionando compresión sin pérdidas para todo tipo de operaciones.