Skip to content
KitploitKITPLOIT
HerramientasBlog
Enviar
HerramientasBlog
Enviar

¡Herramientas de Hacking, PenTest y Ciberseguridad para tu Arsenal de Seguridad!

Kitploit es un directorio de herramientas de hacking, ciberseguridad y pentesting. Descubre las últimas actualizaciones de proyectos para encontrar vulnerabilidades, analizar sistemas, automatizar pruebas y fortalecer tu seguridad.

··Feeds·Contacto·Privacidad·© 2026 Kitploit

Directorio de Herramientas

Categorías

Ver todas las categorías
Loading categories
Tarmageddon-CVE-2025-62518- — PoC para CVE-2025-62518 que demuestra el contrabando de archivos tar mediante el análisis de encabezados PAX de tokio-tar, creando cargas maliciosas y un extractor vulnerable para mostrar la inyección en la cadena de suministro. | Kitploit
Herramientas/GitHubGitHub/airineiandrei/tarmageddon-cve-2025-62518-
Análisis de VulnerabilidadesExplotaciónAnálisis de MalwareSeguridad de Cadena de SuministroPapers e InvestigaciónAprendizaje y Educación
GitHubairineiandrei/tarmageddon-cve-2025-62518-

Tarmageddon-CVE-2025-62518-

PoC para CVE-2025-62518 que demuestra el contrabando de archivos tar mediante el análisis de encabezados PAX de tokio-tar, creando cargas maliciosas y un extractor vulnerable para mostrar la inyección en la cadena de suministro.

Ver Repositorio
3hace 7 mesesAún no revisado

Más Populares

Ver todos →

Descubre las herramientas más usadas por nuestra comunidad.

Explora todas las herramientas

Explora nuestra colección de herramientas

Ver todas las herramientas →
Compartir

Tarmageddon CVE-2025-62518

Vídeo: https://youtu.be/EYBB4BHsp9E

Directorios del repositorio

  • vulnerable-extract ejemplo mínimo reproducible, toma una ruta como argumento y extrae ese archivo a ./output
  • malicious-payload crea un archivo malicious.tar simple con un ejemplo de contenido oculto, los comentarios explican paso a paso y bloque por bloque lo que se está haciendo

Reproducción

Usa el script de reproducción proporcionado o hazlo manualmente

Ejecuta malicious-payload para generar el payload

malicious.tar

Pasar este archivo a nuestra aplicación vulnerable-extract produce:

root@kitploit:~
/vulnerable-extract$ ll output/
total 12
drwxrwxr-x 2 airinei airinei 4096 Jan 19 22:40 ./
drwxrwxr-x 5 airinei airinei 4096 Jan 19 22:40 ../
-rw-rw-r-- 1 airinei airinei    0 Jan  1  1970 benign_file.txt
-rw-rw-r-- 1 airinei airinei   18 Jan  1  1970 sh_profile_hijack

Mientras que al ejecutar la utilidad tar proporcionada por nuestro SO ((GNU tar) 1.35 en este caso) se obtiene:

root@kitploit:~
malicious-payload$ tar -tvf malicious.tar
---------- 0/0            1024 1970-01-01 02:00 benign_file.txt

Observa que ve el tamaño del archivo como 1024

Alternativamente, usando astral-tokio-tar 0.5.6 en lugar de la abandonada tokio-tar 0.3.1 extrae correctamente el archivo.

Análisis

CVE-2025-62518 (TARmageddon) es una vulnerabilidad de seguridad encontrada en la librería Rust tokio-tar (¡vulnerabilidad en Rust 😮). Se trata de un error lógico en cómo se analizan las cabeceras del formato tar, permitiendo a un atacante introducir archivos de contrabando.

La falla existe en la lógica que maneja las Cabeceras Extendidas PAX. En un archivo TAR, existen diferentes tipos de cabeceras:

  • USTAR: La cabecera estándar que contiene nombre de archivo, permisos y tamaño.
  • PAX (Tipo x): Una cabecera de extensión utilizada para proporcionar metadatos (como un tamaño de archivo muy grande) para el siguiente archivo en el archivo.

Cuando una cabecera PAX está presente, un analizador debe resolver el tamaño real del archivo priorizando los metadatos PAX sobre la cabecera estándar USTAR.

Pero ¿POR QUÉ hay 2 tipos de cabeceras que tienen prioridades para lo que parece ser lo mismo? Porque el formato TAR es antiguo (estandarizado en 1988), y USTAR tiene sus limitaciones (tamaño de hasta 8GB, nombre de archivo de hasta 256 caracteres). Eso es un problema, así que la cabecera PAX se añadió en 2001 para permitir archivos más grandes y nombres de archivo más largos.

En versiones vulnerables de tokio-tar, el analizador adopta correctamente el tamaño de la cabecera PAX para el lector de contenido del archivo, pero usa incorrectamente el tamaño de la cabecera USTAR para determinar dónde comienza la siguiente cabecera de archivo.

El núcleo del problema es un desajuste de puntero. Cuando la librería vulnerable procesa un archivo, usa dos "cabezas" internas diferentes para leer el flujo:

  1. La Cabeza de Contenido: Responsable de leer los bytes reales del archivo y escribirlos en el disco.
  2. La Cabeza de Análisis: Responsable de saltar sobre los datos del archivo para encontrar la siguiente cabecera de archivo.

En un archivo normal, estas dos cabezas están de acuerdo. En TARmageddon, las forzamos a estar en desacuerdo. Al establecer el tamaño de PAX a 1024 y el tamaño de USTAR a 0, creamos una paradoja:

  • La Cabeza de Contenido lee 1024 bytes y los coloca en benign_file.txt.
  • La Cabeza de Análisis ve el 0 en la cabecera USTAR y piensa: "Ya estoy al final del archivo." Se queda exactamente donde está.

En consecuencia, la Cabeza de Análisis trata los datos dentro del bloque de 1024 bytes como el siguiente conjunto de instrucciones. Si esos datos parecen una cabecera TAR válida, la librería "descubrirá" y extraerá un segundo archivo que técnicamente no existe según la estructura global del archivo.

El Payload de Contrabando:

El payload se construye como una secuencia de bloques de 512 bytes. Aquí está el diseño utilizado en el generador malicious-payload:

BloqueRolDescripción
1 & 2Metadatos PAXAfirma que el siguiente archivo tiene 1024 bytes de largo.
3Cabecera Basebenign.txt. Crucialmente establece el tamaño a 0.
4Cabecera de Contrabandobackdoor.sh. Oculto dentro del área de "datos".
5Datos de ContrabandoEl contenido malicioso (por ejemplo, alias de shell).
6 & 7EOFTerminación estándar de bloque nulo.

Debido a que las herramientas estándar (como GNU tar) siguen correctamente el tamaño de PAX, ven los Bloques 4 y 5 como datos binarios inofensivos que pertenecen a benign_file.txt. Nunca "ejecutan" la cabecera en el Bloque 4.

¿Cómo es esto una vulnerabilidad, y un CVSS 8.1?

¿Cómo puede explotarse que este crate tenga una vulnerabilidad? ¿Por qué importa que se introduzca un archivo de contrabando en un archivo?

Inyección en la Cadena de Suministro:

Un atacante introduce archivos maliciosos de contrabando en un sistema de compilación. Extraer esto, ya sea para desarrollo o en una máquina CI, puede sobrescribir archivos de compilación legítimos, comprometiendo esa máquina e incluso engañando al sistema de compilación para que firme archivos maliciosos.

Bypass de Seguridad (WAF/AV):

Un escáner inspecciona un .tar, escaneándolo solo en el modo correcto, pueden estar presentes archivos no deseados en la extracción pero que no fueron escaneados.

Inspirado por este análisis

Descargar herramienta