TARmageddon: Vulnerabilidad crítica en parsers Rust permite inyección de archivos y RCE
Tiempo estimado de lectura: 5 minutos
Dificultad técnica: Alta
Conclusiones clave
- Una vulnerabilidad en parsers TAR permitiendo inyección de archivos y RCE ha sido identificada en el ecosistema Rust.
- La falla, conocida como CVE-2025-62518 o TARmageddon, se origina por una desincronización en el manejo de cabeceras en archivos TAR anidados.
- Los parsers afectados, como Async-tar y Tokio-tar, son ampliamente utilizados y pueden facilitar ataques a la cadena de suministro.
- Se recomienda la transición a bifurcaciones corregidas para mitigar el riesgo.
- Es esencial implementar validaciones más estrictas en la manipulación de archivos TAR.
Índice
Descripción de la vulnerabilidad
Un incidente notable ha sacudido a la comunidad Rust: la identificación de una vulnerabilidad en los parsers TAR que permite a los atacantes infiltrarse con archivos no detectados, facilitando la ejecución remota de código (RCE) y abriendo la posibilidad de ataques dentro de la cadena de suministro. Conocida como CVE-2025-62518, esta falla, apodada TARmageddon, ha encendido las alertas en el ecosistema Rust.
La vulnerabilidad de alta severidad impacta librerías utilizadas de forma extensiva para la gestión de archivos TAR, como Async-tar y sus bifurcaciones, entre las que se encuentra Tokio-tar. Edera fue la responsable de reportar este problema, evidenciando cómo una inadecuada manipulación de las cabeceras en archivos TAR anidados permite a un atacante modificar el contenido durante la extracción y potencialmente comprometer sistemas.
Impacto en la seguridad
TARmageddon se origina a partir de un fallo de desincronización presente en los parsers TAR escritos en Rust. Este problema se manifiesta cuando un archivo incluye cabeceras PAX y ustar que tienen tamaños inconsistentes – en particular, cuando la cabecera ustar señala un tamaño cero. En esta situación, el parser no logra avanzar correctamente el punto de lectura sobre los datos, lo que implica que los datos de un archivo secundario (un segundo TAR) son erroneamente interpretados como parte del archivo de nivel superior. Esto permite que un atacante «esconda» archivos o ejecute código de manera clandestina.
Este fallo se presta a la ejecución remota de código (RCE) y a la sobrescritura de archivos, representando un riesgo elevado para los proyectos que descomprimen archivos TAR sin realizar validaciones adicionales. La situación es aún más alarmante, dado que las bibliotecas involucradas (Async-tar y Tokio-tar) registran millones de descargas y son utilizadas por numerosos proyectos, incluidos algunos mantenidos por terceros. Su explotación puede facilitar ataques a la cadena de suministro, dejando a miles de aplicaciones vulnerables ante manipulaciones y persistencia del atacante.
Recomendaciones para mitigación
Se aconseja urgentemente la transición a bifurcaciones corregidas, como Astral-tokio-tar 0.5.6 o Krata-tokio-tar. En caso de que no sea viable realizar este cambio, se recomienda modificar los parsers para priorizar las cabeceras PAX en la determinación de tamaños y verificar la consistencia de dichas cabeceras. Adicionalmente, es crucial implementar comprobaciones de límites estrictas para evitar la confusión entre cabeceras y prevenir inyecciones de archivos no autorizados.
La situación de TARmageddon demuestra que el uso de lenguajes modernos como Rust no proporciona una garantía absoluta de seguridad. La falta de actualizaciones en librerías fundamentales puede dejar expuesta a toda la cadena de dependencias a críticos riesgos de seguridad. Es esencial adoptar librerías mantenidas adecuadamente y fortalecer las validaciones en la manipulación de archivos TAR.
