La librería Rust Crate liblzma-sys popular comprometida con archivos maliciosos backdoor de XZ Utils

Nuevos hallazgos revelan que los «archivos de prueba» asociados con la puerta trasera de XZ Utils han llegado a un cuadro de Rust conocido como liblzma-sys. Liblzma-sys, que ha sido descargado más de 21.000 veces hasta la fecha, proporciona correlaciones a los desarrolladores de Rust con la implementación de liblzma. Los archivos de prueba maliciosos se detectaron inicialmente en la utilidad de línea de comandos XZ Utils, que afectó a las versiones 5.6.0 y 5.6.1 lanzadas en febrero y marzo de 2024. La puerta trasera en XZ Utils permitió eludir los controles de autenticación dentro de SSH y ejecutar código de forma remota, lo que podría permitir a los operadores tomar el control del sistema. La versión afectada es la 0.3.2 de liblzma-sys. Los archivos maliciosos han sido eliminados en la versión 0.3.3 y la versión anterior se ha retirado del registro.

Los compromisos de código maliciosos fueron realizados por un usuario de GitHub suspendido llamado JiaT75, quien introdujo compromisos inocuos y menores al principio antes de convertirse gradualmente en un contribuyente más activo al proyecto. Esto le permitió ganar reputación y confianza dentro de la comunidad. Los cambios troyanos tienen la forma de una operación de múltiples etapas. El código fuente de la infraestructura de compilación que generó los paquetes finales fue ligeramente modificado para extraer el script de la siguiente etapa que estaba oculto en un archivo de caso de prueba. Los scripts extrajeron un componente binario malicioso de otro archivo de caso de prueba para vincular el malware con la biblioteca legítima. La carga útil, un script de shell, es responsable de la extracción y ejecución de la puerta trasera. El objetivo principal de la puerta trasera es manipular el demonio de shell seguro (sshd) y monitorear los comandos enviados por un atacante al inicio de una sesión de SSH, introduciendo una manera de lograr la ejecución remota de código.

Si bien el descubrimiento temprano de la puerta trasera evitó una violación generalizada del ecosistema de Linux, su aparición es una vez más una señal de que los mantenedores de paquetes de código abierto son objeto de campañas de ingeniería social con el objetivo de realizar ataques de la cadena de suministro de software. Se sospecha que el actor de amenazas es una entidad patrocinada por el Estado debido a la sofisticación detrás de la operación. La versión afectada ha sido retirada y se insta a los desarrolladores y usuarios de Rust y XZ Utils a actualizar a la última versión.

Vía The Hacker News