BookinglyTech News
Software

Xz Utils Backdoor CVE-2024-3094: Un ataque a la cadena de suministro que casi compromete millones de servidores

En marzo de 2024 un ingeniero de Microsoft descubrió una backdoor oculta en la biblioteca de compresión XZ Utils que, si se hubiera propagado, habría permitido a atacantes ejecutar código con privilegios de root en sistemas basados en syste

2 min de lecturaDev.to0 vistas

El hallazgo

En marzo de 2024 un ingeniero de Microsoft, Andres Freund, notó que los logins SSH en su sistema Debian consumían CPU de forma anómala. Al analizar la causa, descubrió que la versión recién publicada de liblzma, el núcleo de XZ Utils, contenía código malicioso.

La vulnerabilidad, catalogada como CVE‑2024‑3094, no estaba en el código fuente de GitHub; el atacante la introdujo durante el proceso de compilación, ensamblando fragmentos ofuscados de archivos de prueba y luego insertándolos en la biblioteca final.

El objetivo de la backdoor era muy específico: un atacante con un par de llaves privadas podía evadir la autenticación de SSH y ejecutar cualquier comando con privilegios de root en máquinas que ejecutasen el demonio sshd y usaran systemd.

El actor y la preparación

El atacante, conocido bajo el pseudónimo “Jia Tan”, inició contribuciones al proyecto XZ en 2021. Con el tiempo, ganó la confianza de la comunidad y se convirtió en co‑maintainer. Mientras tanto, el mantenedor original, Lasse Collin, fue sometido a presión mediante cuentas sockpuppet que exigían acelerar el desarrollo.

Durante casi tres años, Jia Tan construyó una relación de confianza y, al obtener autoridad de publicación, introdujo la backdoor en un release que llegó a los repositorios de Debian, Red Hat y Fedora.

Implicaciones técnicas

La inserción de código malicioso fuera del repositorio de código fuente hace que las auditorías tradicionales de código sean insuficientes. Sólo al inspeccionar los binarios resultantes se detecta la anomalía.

El ataque se diseñó para activarse solo en sistemas que ejecutan sshd con systemd, lo que limitó la superficie de explotación, pero no la gravedad: un atacante con el par de llaves correcto podía obtener control total.

Lecciones para la comunidad

  1. Revisión de builds: se necesita inspección de los artefactos de construcción, no solo del código fuente.
  2. Soporte a mantenedores: la presión psicológica y el burnout de los voluntarios son un riesgo real; las empresas que dependen de proyectos open‑source deben aportar recursos y reconocimiento.
  3. Cadena de suministro: la cadena de suministro debe ser monitoreada con herramientas que detecten cambios en los binarios.

¿Qué sigue?

El incidente resalta la necesidad de una cultura de seguridad más robusta en la comunidad open‑source, con auditorías de builds, soporte a mantenedores y vigilancia continua de la cadena de suministro.

Para los administradores de sistemas, la recomendación es actualizar a versiones que eliminen la vulnerabilidad y revisar las firmas de los paquetes antes de su instalación.

Enlaces útiles

El repositorio de XZ Utils