CARGANDO

Escribe para buscar

Vulnerabilidad XZ Utils

El Viernes, mientras en España disfrutábamos de unas buenas torrijas por la semana santa, un desarrollador de Microsoft llamado Andres Freund, descubrió una vulnerabilidad implementada intencionadamente en la utilidad de XZ Utils de los sistemas GNU/Linux. En este post vamos a ver, que hace esta vulnerabilidad, a que afecta, que versiones de Linux están afectadas y como solucionarlo.

Malware

Esta vulnerabilidad está catalogada como 10/10 en las listas bajo el código CVE-2024-3094, puedes comprobarla en el NIST. Es una vulnerabilidad crítica, por lo que, atento a parchearla lo más rápido posible.

¿Qué es XZ Utils?

Esta utilidad se encuentra en todos los sistemas Linux. Su función es la de comprimir y descomprimir datos durante todo tipo de operaciones y sin perdidas, también admite el formato de .lzma.

¿Cómo se descubrió esta vulnerabilidad?

Aunque en nuestra cabeza pueda rondar la idea del típico ser humano con el gorro puesto de una chaqueta, luces apagadas y letras a lo Matrix en las pantallas, la realidad es que, Andres Freud, el cual trabaja en ofertas de PostgreSQL en Microsoft, simplemente estaba pasando unos ficheros por el protocolo SSH de su máquina al servidor.

Mientras pasaba estos ficheros, se percató de que estaba tardando 0,5 segundos más de lo habitual en realizarse estas operaciones, así que, se puso a investigar el motivo.

Revisando el SO, comprobó que los inicios de sesión por SSH consumían demasiados ciclos de CPU y estaban generando errores en valgrind una utilidad para monitorizar la memoria del equipo en cuestión.

Siguiendo con sus investigaciones, se dio cuenta que habían realizado una actualización en el componente de XZ Utils del sistema servidor y esta actualización, en el código fuente, contenía un backdoor.

“una puerta trasera (en inglés: backdoor) es una secuencia especial o un término trasero dentro del código de programación, mediante el cual se pueden evitar los sistemas de seguridad del algoritmo (autenticación) para acceder al sistema.”

wikipedia.org
Tras publicar la vulnerabilidad, Thomas Roccia, investigador de Microsoft, publicó un gráfico que ayuda a visualizar el alcance del intento casi exitoso del acceso mediante backdoor en un SolarWinds del 2020.

XZ Utils

¿Que hace esta puerta trasera?

El código malicioso se encuentra en las versiones 5.6.0 y 5.6.1 de XZ Utils. Este backdoor manipula el fichero ejecutable de sshd utilizado para las conexiones por SSH.

Cualquiera que posea una clave de cifrado predeterminada, podría conectar con cualquier certificado de inicio de sesión de SSH, cargar código malicioso y ejecutarlo sin que nadie se entere (salvo que monitorices todas las conexiones SSH del equipo continuamente).

Este backdoor se implementa a través de un cargador de cinco etapas y utiliza una serie de técnicas simples pero inteligentes para ocultarse.

Si quieres profundizar más en el tema del funcionamiento, puedes seguir este enlace, donde Sam James nos brinda una descripción general del funcionamiento.

¿Quién añadió esta vulnerabilidad en XZ Utils?

Por lo que se ha investigado, esta puerta trasera tardó años en desarrollarse. En 2021, un usuario llamado JiaT75 añadió un comentario en el proyecto de github, donde reportaba un cambio en libarchive algo sospechoso, se reemplazó la función safe_fprint por otra variante que era conocida como menos segura.

Al año siguiente, el mismo usuario, envió un comentario de mejora del parche al proyecto de XZ Utils, otro usuario llamado Jigar Kumar se unió y dijo que Lasse Collin, quien se encargaba de mantener este proyecto, no actualizaba el software con frecuencia o suficientemente rápido.

Tras esto, Kumar, Deniss Ens y otras personas, presionaron a Collin para que contratara un desarrollador adicional para mantener el proyecto. En Enero de 2023, nuestro querido amigo JiaT75 se comprometió a continuar el código bajo el nombre de Jia Tan.

Una de las cosas sospechosas que realizó tras abrazar el proyecto fue cambiar la información de contacto de Collins por la suya en oss-fuzz, un proyecto que escanea software de código abierto en busca de vulnerabilidades que puedan explotarse. También solicitó que oss-fuzz deshabilitara la función ifunc durante las pruebas, un cambio que le impidió detectar los cambios maliciosos que Tan, pronto haría en XZ Utils.

En Febrero de 2024, Jia Tan, emitió un comunicado a Red Hat, Ubuntu y Debian para que fusionaran las actualizaciones en sus sistemas operativos. Finalmente, una de las dos actualizaciones lanzadas, llegó a las siguientes versiones, según Tenable.

Por el momento, sobre Jia Tan se sabe extremadamente poco, especialmente para alguien al que se le ha confiado un software tan sensible como XZ Utils.

¿Como sé si estoy afectado por la vulnerabilidad?

Tenemos varias formas:

  • Accediendo a la WEB de la empresa de Binarly mediante este enlace. Subes un fichero ELF y lo comprueba.
  • Descargando este proyecto de xzbot desde github.
  • Revisando si tienes alguna de estas versiones en tu empresa/hogar:
    • Red Hat: Versiones vulnerables en Fedora 41 y Fedora Rawhide. Red Hat Enterprise Linux (RHEL) no está afectado.
    • SUSE: Afectado y publicada una actualización para OpenSuse (Tumbleweed o MicroOS).
    • Debian Linux: Las versiones estables de la distribución no se ven afectadas, pero los paquetes comprometidos estaban presentes en las versiones de prueba, inestables y experimentales.
    • Kali Linux: Se recomienda actualizar nuevamente si sus sistemas se actualizaron entre el 26 y el 29 de Marzo.
    • Amazon Linux y Alpine: No se ven afectados.
    • Gentoo: No afectado.
    • Ubuntu: No afectado.
    • MAC OS: Afectado, actualizar la versión lo antes posible.

¿Como compruebo si estoy afectado y qué debo hacer?

Lo primero, nos conectamos por ssh a nuestras máquinas. Una vez conectados, ejecutaremos el siguiente comando para comprobar la versión instalada de XZ.

xz --version

Si nos encontramos en la versión 5.6.0 o 5.6.1 tenemos estas opciones:

  • Si tenemos la actualización disponible a la siguiente versión, actualizar inmediatamente.
  • Si no se ha publicado la actualización todavía, instalar una versión anterior de XZ.
  • Si ninguna de las opciones anteriores es posible, ya sea por horarios de producción u otra circunstancia, Red Hat recomienda deshabilitar SSH de forma momentánea hasta resolver esta vulnerabilidad.

Conclusión

Espero que este artículo te haya sido útil. Si has sido afectado por esta vulnerabilidad y tienes muchas máquinas, todo mi apoyo en el parcheo, porque viene una semana tras el puente un tanto movidita.

¿Crees que el impulsor de todo esto fue nuestro amigo Jian Tam (JiaT75)?, ¿puede que alguien ajeno tomara el control de la cuenta de Tam y publicara este backdoor en su nombre?, el software libre se mantiene por usuarios que sin ánimo de lucro, lo van mejorando, ¿te parece que esto es un problema y que se debe revisar quien se hace cargo del código?. Déjanos un comentario, estamos encantados de leerte!.

También te dejamos un artículo para que aprendas a utilizar la herramienta de Metasploit, súper interesante.

Ah, hola 👋
Un placer conocerte.

Veo que te gusta la tecnología, ¿quieres que te mandemos una newsletter semanal?.

Acepto la política de privacidad *

¡No enviamos spam!. yo también lo odio a muerte!.

Tags:

También podría gustarte

Deja un Comentario

Your email address will not be published. Required fields are marked *