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
cve-tarmageddon — Demostración de CVE-2025-62518: un fallo crítico de anulación del tamaño de la cabecera extendida PAX en tokio-tar y las bibliotecas tar asíncronas de Rust, con herramientas de reproducción y análisis del radio de impacto. | Kitploit
Herramientas/GitHubGitHub/edera-dev/cve-tarmageddon
Análisis de VulnerabilidadesExplotaciónFuzzingAnálisis de BinariosSeguridad de Cadena de SuministroAprendizaje y Educación
GitHubedera-dev/cve-tarmageddon

cve-tarmageddon

Demostración de CVE-2025-62518: un fallo crítico de anulación del tamaño de la cabecera extendida PAX en tokio-tar y las bibliotecas tar asíncronas de Rust, con herramientas de reproducción y análisis del radio de impacto.

Ver Repositorio
1943hace 10 mesesAún no revisado
Sitio web

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

Ivy Astronaut

CVE-2025-62518: TARmageddon

Este repositorio demuestra un error crítico en tokio-tar y en bibliotecas Rust asíncronas de tar relacionadas, donde las sobrescrituras de size en las cabeceras extendidas PAX no se aplican antes de calcular la posición de la siguiente cabecera.

Resumen del error

Causa raíz: Al procesar archivos tar con cabeceras extendidas PAX que sobrescriben el tamaño del archivo, la biblioteca utiliza el campo de tamaño octal (a menudo cero) en lugar de la sobrescritura PAX para los cálculos de posición.

Impacto: Esto provoca que el analizador salte al contenido del archivo y lo confunda con cabeceras tar, lo que lleva a la extracción de archivos incorrectos.

Bibliotecas afectadas conocidas:

  • async-tar https://github.com/dignifiedquire/async-tar
  • tokio-tar https://github.com/vorot93/tokio-tar
  • krata-tokio-tar
https://github.com/edera-dev/tokio-tar
  • astral-tokio-tar https://github.com/astral-sh/tokio-tar
  • Inicio rápido

    root@kitploit:~
    # Requirements: CMake, Rust/Cargo, C++ compiler, system tar command
    
    cmake -S . -B build
    cmake --build build --target generate_report
    

    Esto:

    1. Compilará todas las herramientas C++ y Rust
    2. Generará un archivo tar de caso de reproducción
    3. Ejecutará comparaciones que muestran el error
    4. Generará informes detallados en build/output/

    Estructura del proyecto

    root@kitploit:~
    ├── disclosure/               # Security disclosure documentation tree
    │   └── blast_radius/         # Record of projects depending on tokio-tar variants
    ├── repro_generator/          # C++ tool to generate a repro case tar file
    ├── tar-bug-detector/         # Rust tool comparing tar libraries  
    ├── tarwalk/                  # Correct C++ tar parser
    │   ├── tarwalk.cpp           # Handles PAX correctly
    │   └── tarwalk_bad.cpp       # Reproduces the same bug
    ├── CMakeLists.txt            # Build system
    ├── generate_report.cmake     # Report generation
    └── README.md                 # This file
    

    El error en detalle

    Procesamiento TAR normal

    root@kitploit:~
    Header -> Content (size from octal field) -> Next Header
    

    Procesamiento TAR extendido PAX (correcto)

    root@kitploit:~
    PAX Header (size=1024) -> File Header (octal size=0) -> Content (1024 bytes) -> Next Header
    

    Procesamiento TAR extendido PAX (con error)

    root@kitploit:~
    PAX Header (size=1024) -> File Header (octal size=0) -> Content (0 bytes) -> WRONG POSITION
                                                                                  ↓
                                                                        Reading content as headers!
    

    Disparador en el mundo real

    Docker save crea archivos tar con:

    • Capas grandes (>8 GB) que requieren extensiones PAX
    • Contenido de capas que comienza con cabeceras tar del sistema de archivos (etc/, usr/)
    • Cuando el error se activa, los analizadores extraen contenido del sistema de archivos en lugar de los manifiestos de imagen

    Archivos de reproducción generados

    • pax_bug_compact.tar - Caso de reproducción mínimo

    Resultados esperados

    Bibliotecas correctas (GNU tar, crate tar síncrono):

    root@kitploit:~
    normal.txt -> blob.bin -> marker.txt
    

    Bibliotecas con el error (tokio-tar):

    root@kitploit:~
    normal.txt -> blob.bin -> INNER_FILE -> marker.txt
    

    La aparición de INNER_FILE indica el error: la biblioteca saltó al contenido de blob.bin y confundió una cabecera tar falsa con una entrada real.

    Detalles técnicos

    La corrección requiere aplicar las sobrescrituras PAX antes de los cálculos de posición:

    root@kitploit:~
    // Read header
    let mut file_size = header.size();
    
    // Apply PAX overrides BEFORE calculating next position
    if let Some(pax_size) = pending_pax.get("size") {
        file_size = pax_size.parse().unwrap();
    }
    
    // Now calculate next header position using effective size
    let next_pos = current_pos + 512 + pad_to_512(file_size);
    

    Licencia

    Este código de reproducción se proporciona con fines de investigación de seguridad y divulgación responsable.

    Consulte COPYING para conocer la licencia del código fuente original.

    Descargar herramienta