Предположительно бэкдор в пакет xz был внедрён разработчиком Jia Tan, который в 2022 году получил статус сопровождающего и выпускал релизы начиная с версии 5.4.2. Помимо проекта xz предполагаемый автор бэкдора также участвовал в разработке пакетов xz-java и xz-embedded, и был включён в число мэйнтейнеров проекта XZ Embedded, используемого в ядре Linux.
Otros dos participantes, Jigar Kumar y Hans Jansen, quienes parecen ser personajes virtuales, también se vieron implicados en la promoción encubierta. En abril de 2022, Jigar Kumar promovió la aceptación de los primeros parches de Jia Tan en xz, implementando soporte para filtros de cadenas, y ejerció presión moral sobre Lasse Collin, el entonces responsable del proyecto, criticándolo por su incapacidad para cumplir con sus obligaciones y por no aceptar parches útiles. En junio, Lasse Collin reconoció que el proyecto necesitaba un nuevo responsable, quejándose de agotamiento y problemas de salud mental, y le cedió el puesto a Jia Tan. Tras esto, Jigar Kumar dejó de aparecer en la lista de correo.
Tras convertirse en mantenedor, Jia Tan empezó a contribuir activamente al proyecto y, según las estadísticas, en dos años se convirtió en el segundo mayor colaborador. En marzo de 2023, Lasse Collin, responsable de probar el paquete xz en el servicio oss-fuzz, fue reemplazado por Jia Tan. En junio, se aceptaron cambios en xz que añadieron compatibilidad con el mecanismo IFUNC a liblzma (el constructor crc64_fast se sustituyó por ifunc), que posteriormente se utilizó para implementar el enganche de funciones en la puerta trasera. El cambio fue propuesto por Hans Jansen y Jia Tan lo aceptó en xz. La cuenta de Hans Jansen se creó justo antes de que se enviara la solicitud de extracción.
En julio de 2023, Jia Tan solicitó a los desarrolladores de oss-fuzz que deshabilitaran la comprobación ifunc debido a su incompatibilidad con el modo "-fsanitize=address". A principios de febrero de 2024, el enlace al sitio web del proyecto en oss-fuzz y en la página principal de tukaani.org cambió de "tukaani.org/xz/" a "xz.tukaani.org", donde el subdominio "xz.tukaani.org" estaba alojado en GitHub Pages y era controlado personalmente por Jia Tan. El 23 de febrero, se publicaron en el repositorio xz archivos para probar el decodificador, incluidos los archivos bad-3-corrupt_lzma2.xz y good-large_compressed.lzma, que contenían una puerta trasera oculta. Las macros M4 para activar la puerta trasera solo se incluyeron en el archivo tar de la versión 5.6.0 y se excluyeron del repositorio Git, aunque eran visibles en el archivo .gitignore.
17 марта Hans Jansen, разработавший ранее патчи с поддержкой IFUNC, был зарегистрирован в качестве участника проекта Debian, а 25 марта им был отправлен запрос на обновление версии пакета xz-utils в репозитории Debian. Запросы на обновление версии также поступили разработчикам Fedora и Ubuntu (en Ubuntu репозиторий был на стадии заморозки и изменение было отклонено).
Algunos usuarios también se sumaron a las peticiones de una actualización de xz, afirmando que la nueva versión había corregido los fallos detectados durante la depuración en Valgrind (los problemas surgieron debido a una detección incorrecta de la disposición de la pila en el controlador de la puerta trasera, que los desarrolladores de la puerta trasera habían solucionado en xz 5.6.1). Andrés Freund, empleado de Microsoft involucrado en el desarrollo de PostgreSQL, también mostró interés en el fallo, identificando la puerta trasera y alertando a la comunidad.
Fuente: opennet.ru
