Saltar al contenido
>_ITDITDPlataforma de seguridad web

Incidentes y vulnerabilidades

La puerta trasera de XZ Utils (CVE-2024-3094) — cuando la confianza misma era el objetivo

En 2024 se encontró una puerta trasera en xz/liblzma, plantada por alguien que pasó años ganándose la confianza de los mantenedores, detectada justo antes de la versión estable por el «algo va lento» de un ingeniero. Cómo la confianza fue el objetivo, y las lecciones de cadena de suministro.

Publicado 2026-06-07 Actualizado 2026-06-07 4 min de lectura

Revisitamos un evento histórico por las lecciones que aún se aplican a tu operación.

2024
descubierto
años
invertidos en construir confianza
confianza
lo que fue el objetivo
por un pelo
detectado justo antes de la estable

Qué ocurrió

La librería estaba poco mantenida, sostenida durante mucho tiempo por una sola persona. Otro individuo contribuyó de forma constante, fue construyendo confianza y acabó obteniendo el estatus de comantenedor. Entonces, entretejido en actualizaciones corrientes, fue introduciendo por fases un mecanismo que permitía el acceso externo no autorizado bajo condiciones específicas.

Lo que se atacó no fue un agujero en el código, sino la suposición de que «la actualización legítima de una persona de confianza» es segura.

① Poco mantenida, una persona agotada cargándola
② Otro contribuye de forma constante y se vuelve «de confianza» (años)
③ Obtiene privilegios de comantenedor
④ Introduce por fases una puerta trasera en actualizaciones corrientes
El ataque avanzó mediante «construir confianza», no mediante «técnica». Cada paso parecía actividad legítima.

Las personas y la confianza eran el objetivo

Los cortafuegos y los parches no detienen esto. Los mantenedores de OSS funcionan a base de buena voluntad y tiempo voluntario, y esa sobrecarga y aislamiento se convirtieron en el punto de entrada. Demostró que la salud del propio ecosistema es un asunto de seguridad.

Cómo se detectó — no ignorar el «algo va lento»

El hallazgo llegó cuando un ingeniero, en medio de un trabajo no relacionado, notó que un camino de inicio de sesión era «claramente más lento que antes» y que las cifras del benchmark se veían raras, y lo persiguió hasta la raíz en vez de ignorarlo. Como resultado, el mundo se salvó antes de que se extendiera ampliamente a las versiones estables.

«Algo va mal» es el mejor detector. Aquí, literalmente, salvó al mundo.

Cronología

  1. años antes

    El atacante contribuye de forma constante, construyendo la confianza de los mantenedores.
  2. principios de 2024

    Se introduce por fases una puerta trasera en actualizaciones legítimas.
  3. 2024-03

    Un ingeniero persigue una anomalía «lenta»; se detecta y divulga justo antes de la estable.

Lecciones que aún se aplican

1

Minimiza las dependencias

Menos librerías significan menos partes en las que confiar. No añadas «porque es cómodo».

2

Fija versiones, vigila los cambios

Los lockfiles atrapan las actualizaciones inesperadas; mira el contenido de los cambios en dependencias importantes (quién, qué).

3

Mejora la reproducibilidad de la compilación

Cuanto más la misma entrada produzca el mismo artefacto, más fácil será detectar una manipulación silenciosa.

4

Nunca ignores una anomalía

«Va lento / raro» es el mejor detector; aquí salvó al mundo. Construye una cultura de perseguir las pequeñas anomalías hasta el final.

5

Respeta y apoya a los mantenedores

La salud del OSS del que dependes es, al final, tu propia seguridad. La sobrecarga y el aislamiento son el punto de entrada.

Lee a continuación

FAQ

Q¿Qué hizo inusual el caso de XZ Utils?
A

Apuntó a las personas y a la confianza, no a un fallo de código. El atacante pasó años convirtiéndose en un mantenedor de OSS de confianza y coló una puerta trasera como si fuera una actualización legítima, difícil de detener solo con controles técnicos.

Q¿Cómo se descubrió?
A

Un ingeniero, en medio de un trabajo no relacionado, notó que un camino de inicio de sesión era «claramente más lento que antes» y que las cifras del benchmark se veían raras, y lo persiguió hasta la raíz en vez de ignorarlo. Como resultado, se detectó justo antes de extenderse ampliamente a las versiones estables.

Q¿Qué puede hacer un desarrollador indie?
A

Minimizar dependencias, vigilar la procedencia y el contenido de las actualizaciones, fijar versiones para que los cambios inesperados sean detectables, mejorar la reproducibilidad de la compilación y nunca ignorar una sensación de «algo va mal».