Security
12 min read
3243 views

Path Traversal 2.0: Escapando contenedores y leyendo `/etc/passwd` en 2025 📁

IT
InstaTunnel Team
Published by our engineering team
Path Traversal 2.0: Escapando contenedores y leyendo `/etc/passwd` en 2025 📁

Introducción

En 2025, la vulnerabilidad clásica en la web conocida como Path Traversal (también llamada directory traversal) ha evolucionado significativamente: las superficies de ataque modernas ahora incluyen entornos de contenedores, rutas de extracción de archivos en archivos comprimidos y flujos de trabajo nativos en la nube. Lo que antes era principalmente un truco en aplicaciones web con “../../etc/passwd” ahora se extiende a escapes de contenedores, escrituras arbitrarias en archivos dentro de imágenes de contenedores y sobrescrituras de archivos de configuración privilegiados. Este artículo explica por qué Path Traversal 2.0 importa, cómo los atacantes lo usan para escapar de contenedores y leer o sobrescribir archivos como /etc/passwd, y qué debes hacer hoy para protegerte.


¿Qué es Path Traversal?

En esencia, un ataque de path traversal permite a un atacante manipular la lógica de rutas de archivos (mediante ../, rutas absolutas o variantes codificadas) para que la aplicación acceda a archivos fuera de su directorio o “raíz” previsto. Para aplicaciones web, esto puede significar leer /etc/passwd, código fuente o archivos de configuración. (owasp.org)

Ejemplo clásico

Imagina una aplicación web con un parámetro URL como ?file=report.pdf que se pasa a open("/var/www/files/"+filename). Si el código no sanitiza filename, el atacante podría suministrar ../../../../etc/passwd y hacer que el servidor devuelva el archivo de contraseñas del sistema. (invicti.com) El ejemplo famoso de la página OWASP:

GET /vulnerable.php?file=../../../../etc/passwd

que revela entradas de passwd como root:x:0:0:. (owasp.org)

Por qué sigue siendo importante

A pesar de ser una clase relativamente “antigua” (es referenciada por OWASP y conocida desde hace décadas), el path traversal sigue siendo relevante porque:

  • Muchas aplicaciones aún permiten parámetros de rutas de archivos o exportaciones sin validación estricta. (yeswehack.com)
  • Los atacantes ahora lo combinan con otros bugs (por ejemplo, SSRF, vulnerabilidades en la extracción de archivos) para aumentar el impacto. (yeswehack.com)
  • La migración a contenedores, microservicios y nativo en la nube introduce nuevos contextos (desempaquetado de archivos, escapes de contenedores) donde la lógica de traversal puede estar defectuosa.

¿Por qué “2.0”? La evolución hacia contenedores y la nube

En 2025, el cambio principal es que las vulnerabilidades de path traversal ya no están confinadas a contextos simples de directorios web. En cambio, vemos:

Vulnerabilidades en contenedores y extracción de archivos

  • Una vulnerabilidad reciente, CVE‑2025‑62156, afecta a Argo Workflows (un motor de flujos de trabajo nativo en contenedores). El problema: durante la extracción de artefactos (untar/zip), las entradas en el archivo pueden incluir rutas de traversal (o rutas absolutas) que escapan del directorio de extracción previsto, permitiendo escrituras en /etc/passwd, /etc/hosts, /etc/crontab dentro del contenedor. (OffSeq Threat Radar)
  • Los ataques de escape de contenedores explotan el modelo de sistema de archivos en capas de los contenedores y a menudo combinan lógica de traversal o extracción de archivos. Por ejemplo, un artículo de investigación “gh0stEdit” (junio 2025) muestra cómo un atacante podría modificar capas en una imagen Docker sin ser detectado. (arXiv)

Por qué /etc/passwd sigue siendo un punto focal

  • El archivo /etc/passwd en sistemas Unix lista cuentas de usuario y metadatos. Leerlo no proporciona automáticamente contraseñas hashed en la actualidad (a menudo están en /etc/shadow), pero revela nombres de usuario, UID/GIDs, shells, directorios home—información útil para pasos posteriores de ataque y escalada de privilegios. (invicti.com)
  • En contextos de contenedores, escribir o sobrescribir /etc/passwd dentro del contenedor significa que puedes inyectar un usuario o escalar privilegios dentro del contenedor, lo que puede permitir escapar del sandbox o pivotar en el host.

Microservicios, APIs y comparticiones internas de archivos

Las aplicaciones modernas en 2025 exponen comúnmente APIs internas, microservicios o endpoints de recuperación de archivos. Los atacantes apuntan a esos endpoints para traversal, especialmente cuando aceptan entrada JSON o solicitudes internas que evaden filtros externos. Una guía publicada en mayo de 2025 explica cómo sondear APIs y evadir filtros para encadenar traversal en lecturas internas. (yeswehack.com)


Vectores de ataque: Cómo funciona Path Traversal 2.0

Vamos a desglosar cómo un atacante podría explotar la amenaza de path traversal en 2025:

1. Lectura básica de archivos vía aplicación web

  • Encontrar un endpoint que acepte un parámetro de nombre o ruta de archivo (nombres comunes: file, path, doc, img, download). (System Weakness)
  • Probar payloads simples: ../../../../etc/passwd, ..\..\..\..\etc\passwd, rutas con bytes nulos o doble codificación (..%2f..%2fetc/passwd). (owasp.org)
  • Si funciona, puedes leer /etc/passwd – revelar información de usuarios, luego planear pasos siguientes para credenciales, divulgación de archivos locales o lectura de código.

2. Extracción de archivos / Zip Slip dentro del contenedor

  • El componente objetivo descomprime o extrae un archivo (zip, tar, tar.gz) dentro de un contenedor o host, pero no valida la ruta de cada entrada.
  • El archivo malicioso incluye una entrada con una ruta como ../../../../etc/passwd o /etc/passwd absoluta.
  • Al extraer, el archivo termina en la ruta del sistema del contenedor (o a veces en la del host) porque la lógica simplemente usa dest + header.Name después de clean(), sin verificar la escapatoria del directorio.
  • En CVE-2025-62156, esta lógica existía en executor.go de Argo Workflows: filepath.Join(dest, filepath.Clean(header.Name)) pero sin verificar que header.Name permaneciera dentro de dest. (OffSeq Threat Radar)
  • Resultado: el atacante sobrescribe o escribe en /etc/passwd, dándole control sobre las cuentas de usuario en ese contexto del contenedor. Desde allí: escape del contenedor, escalada de privilegios, movimiento lateral.

3. Traversal interno/secundario en microservicios

  • Un microservicio interno accesible solo desde la red recibe un cuerpo JSON como { "path": "reports/2025.csv" }.
  • Los atacantes redirigen tráfico vía SSRF o proxy para llegar a ese microservicio, enviando payloads como ../../../../etc/passwd.
  • Aprovechan que los servicios internos a menudo tienen filtros más débiles. La guía de mayo de 2025 muestra esta metodología. (yeswehack.com)

4. Abuso y escape en capas de imágenes de contenedores

  • Aunque no es un escenario puro de “../etc/passwd”, los atacantes explotan fallos en el layering de contenedores y en el sistema de archivos para inyectar archivos maliciosos en capas de imagen (ver artículo “gh0stEdit”). (arXiv)
  • Un camino de traversal o desempaquetado defectuoso combinado con configuraciones incorrectas de privilegios en el contenedor puede llevar a escape del host o root en el contenedor.

Ejemplos del mundo real y CVEs recientes (2025)

Aquí algunos vulnerabilidades recientes que reflejan Path Traversal 2.0 en acción:

  • CVE-2025-62156 (Argo Workflows) — Alta severidad; permite creación/sobrescritura arbitraria de archivos como /etc/passwd dentro del contenedor mediante path traversal en Zip Slip durante la extracción de artefactos. (OffSeq Threat Radar)
  • CVE-2025-41242 (Spring Framework) — Severidad media; vulnerabilidad de path traversal en Spring cuando se despliega en contenedores Servlet no compatibles que sirven recursos estáticos. (Home)
  • CVE-2025-30208 (Vite dev server) — Lectura arbitraria de archivos en Vite dev server mediante alias de ruta @fs, habilitando path traversal. (OffSec)

Estos ejemplos muestran que incluso en 2025, path traversal sigue siendo prevalente y en evolución.


Por qué leer /etc/passwd sigue siendo un gran problema

Podrías preguntar: “Ok, leer /etc/passwd — ¿y qué?” Aquí está por qué sigue siendo un objetivo importante para los atacantes, especialmente en contextos de contenedores/host:

  • Enumeración de usuarios: El archivo revela nombres de usuario, UIDs, shells y directorios home. Eso ayuda a los atacantes a identificar cuentas privilegiadas (UID 0 = root) o cuentas especiales.
  • Escalada de privilegios: Si el atacante puede leer /etc/passwd y luego encontrar un /etc/shadow writable (o con configuración incorrecta), o inyectar un usuario mediante sobrescritura, puede escalar privilegios.
  • Persistencia y escape del contenedor: Sobrescribir /etc/passwd dentro del contenedor permite crear un usuario root en el contenedor. Si los privilegios del contenedor no están bien aislados, esto puede llevar a escape del host.
  • Plantilla para movimientos futuros: Acceder a /etc/passwd puede exponer hosts locales, cuentas de servicios o facilitar pivotar para acceder a redes internas.

En entornos de contenedores, un path traversal o extracción maliciosa de archivos que lleve a escrituras en /etc/passwd es especialmente potente.


Consultando la superficie de amenaza: Contenedores, nube y flujos de trabajo

Vamos a ampliar y considerar por qué el entorno de contenedores/nube aumenta el riesgo.

La contenerización aumenta el radio de impacto

Los contenedores, por diseño, aíslan procesos, pero muchas implementaciones aún permiten que los procesos de contenedores se ejecuten como root, tengan privilegios de montaje o compartan namespaces del host. Si un atacante escapa mediante path traversal (por ejemplo, escribiendo en /etc/passwd, cargando un usuario root), puede obtener privilegios root en ese contenedor. Desde allí, el movimiento lateral hacia el host u otros contenedores es posible (especialmente en entornos multi-inquilino).

La extracción de archivos en archivos comprimidos es un vector “latente” común

Muchos microservicios o flujos de trabajo aceptan artefactos subidos, logs comprimidos, copias de seguridad almacenadas o capas de imágenes. Si el código de extracción no sanitiza las rutas de entrada (Zip Slip o traversal en archivos comprimidos), los atacantes pueden crear archivos maliciosos para escribir fuera del directorio de extracción previsto. La vulnerabilidad en Argo Workflows lo demuestra claramente: archivo malicioso → directorio de escape → escritura en /etc/passwd. (OffSeq Threat Radar)

Los límites de confianza cambian en stacks nativos en la nube

Los sistemas modernos dependen de muchas capas: pipelines CI/CD, almacenes de artefactos, registros de contenedores, almacenamiento en la nube, motores de orquestación. Los atacantes apuntan a componentes menos seguros (por ejemplo, un almacén de artefactos) para suministrar archivos maliciosos que serán consumidos por la pipeline y desplegados en producción. Un bug de path traversal en cualquier paso de extracción se vuelve un vector de escape serio. Además, investigaciones (“Characterizing Trust Boundary Vulnerabilities in TEE Containers”, agosto 2025) muestran que algunos contenedores diseñados para Computing Confidencial no aplican correctamente la aislamiento, abriendo puertas a traversal o escape. (arXiv)


Detectando y explotando Path Traversal en sistemas modernos

Aquí algunos pasos prácticos (para equipos rojos/test de penetración) para detectar y evaluar escenarios de path traversal y escape en contenedores:

Lista de verificación para detección

  • Identifica endpoints que acepten parámetros de ruta/nombre de archivo/descarga/vista/exportación/archivo comprimido. Ejemplo: file, path, template, doc, report. (System Weakness)
  • Establece una línea base: realiza una solicitud con un archivo seguro conocido y observa la respuesta (código de estado, tamaño, contenido).
  • Usa payloads: ../../../../etc/passwd ..\..\..\..\etc\passwd %2e%2e/%2e%2e/%2e%2fetc/passwd /etc/passwd

Según OWASP: presta atención a la codificación, bytes nulos (%00), doble codificación, etc. (owasp.org) * Para extracción en archivos comprimidos: sube o dispara una tarea de extracción con un archivo malicioso que contenga ../../../../etc/passwd o rutas absolutas /etc/passwd. Luego verifica si el archivo aparece en el sistema de archivos del contenedor o si el servicio responde diferente. * En contexto de contenedores/CI/CD: monitorea logs de creación de contenedores, escrituras en archivos, escapes del sistema de archivos. Usa inspección en el host para verificar si /etc/passwd u otros archivos del sistema fueron modificados.

Explotación y evaluación del impacto

  • Si puedes leer /etc/passwd, captura su contenido y busca cuentas privilegiadas (UID 0, root).
  • Si puedes escribir/sobrescribir /etc/passwd, puedes insertar un usuario root, cambiar el shell a /bin/bash, etc. Luego intenta abrir una shell o escalar privilegios.
  • En contexto de contenedores: una vez que tienes root en el contenedor, prueba mount, cat /proc/1/ns/mnt, docker exec, o descubre montajes del host o privilegios que permitan escape del host.
  • Mapea el entorno: busca /proc/self/environ, /proc/mounts, /proc/net/tcp, etc. (seguimiento clásico tras path traversal). (invicti.com)

Técnicas de bypass

  • Usa codificaciones: %2e%2e/, ..%2f, doble codificación, byte nulo %00 (según entorno). (owasp.org)
  • Usa separadores alternativos: ..\ en Windows vs ../ en Unix.
  • Aumenta la profundidad de traversal: a veces la aplicación bloquea patrones en ciertos niveles; prueba con 6-12 niveles. (System Weakness)
  • Encadena con SSRF o proxies mal configurados: envía payloads de traversal vía endpoints internos. (yeswehack.com)

Mitigación y mejores prácticas para 2025

Para defenderte contra ataques de Path Traversal 2.0 — especialmente en entornos de contenedores/CI/CD/nube — adopta un enfoque en capas:

Validación de entrada y sanitización de rutas

  • Evita usar entrada controlada por el usuario directamente para construir rutas de archivos. Prefiere listas blancas de nombres de archivos o directorios permitidos. (invicti.com)
  • Para rutas de archivos, usa funciones como realpath() o equivalentes para resolver la ruta absoluta, y verifica que esté dentro del directorio base previsto. (yeswehack.com)
  • No confíes únicamente en filtros de blacklist para ../, ..\, o patrones codificados—pueden ser evadidos. (invicti.com)

Lógica segura para extracción y desempaquetado

  • Al desempaquetar archivos (zip, tar) en contenedores o flujos de trabajo, valida que cada ruta de entrada esté dentro del directorio de extracción previsto. Por ejemplo, no simplemente une dest + clean(entry.name) sin verificaciones adicionales. Como en CVE-2025-62156. (OffSeq Threat Radar)
  • Considera usar librerías de extracción que apliquen “sin traversal” por defecto, o implementa lógica personalizada para verificar que resolved_path.startsWith(dest_dir).
  • Ejecuta la extracción en un contenedor sin privilegios (mínimo privilegio), con sistema de archivos raíz en modo solo lectura cuando sea posible, y reduce capacidades excesivas del contenedor.

Protecciones en tiempo de ejecución del contenedor/host

  • Configura los contenedores para que se ejecuten como no-root siempre que sea posible.
  • Usa sistemas de archivos raíz en modo solo lectura para contenedores que no necesitan escribir en el sistema del host.
  • Aplica Kubernetes PodSecurityPolicies (o equivalente en tu orquestador) para restringir montajes de volúmenes, acceso a namespaces del host, escalada de privilegios, montajes hostPath.
  • Monitorea modificaciones inesperadas en archivos: por ejemplo, /etc/passwd, /etc/shadow, /etc/hosts, binarios o permisos cambiados. La investigación indica que la monitorización de archivos mediante introspección en VM de alto rendimiento para contenedores está emergiendo. (arXiv)
  • Mantén actualizados los motores de orquestación y flujos de trabajo. Por ejemplo, actualiza Argo Workflows a versiones 3.6.12 o 3.7.3 para remediar CVE-2025-62156. (OffSeq Threat Radar)

Seguridad en pipelines CI/CD y manejo de artefactos

  • Valida los artefactos subidos—los archivos comprimidos deben ser escaneados y sanitizados antes de la extracción automática.
  • Limita los almacenes internos de artefactos y servicios de extracción a orígenes confiables; evita cargas públicas no controladas que puedan ser usadas en la cadena de suministro.
  • Aplica seguridad en la cadena de suministro: firma de imágenes de contenedor, registros inmutables, escaneo de capas en busca de modificaciones maliciosas (ver “gh0stEdit”). (arXiv)

Monitoreo, registro y respuesta a incidentes

  • Habilita registros en operaciones de archivos en contenedores (especialmente creación y escritura en directorios del sistema).
  • Usa herramientas de seguridad en tiempo de ejecución (Runtime Application Self-Protection, Sistemas de Detección de Intrusiones en Host) para detectar comportamientos anómalos como escritura en /etc/passwd o carga de shells no esperados.
  • Escanea regularmente tus sistemas con DAST/SAST en busca de vulnerabilidades de path traversal. (invicti.com)

Resumen optimizado para SEO: Claves principales

  • Path Traversal 2.0 no es solo el viejo “../../etc/passwd” en aplicaciones web—es escape de contenedores, bugs en extracción de archivos, motores de flujo de trabajo y microservicios nativos en la nube.
  • Leer o sobrescribir /etc/passwd sigue siendo un vector de alto impacto válido: enumeración, escalada de privilegios, escapes de contenedor.
  • Los CVEs recientes (por ejemplo, CVE-2025-62156 en Argo Workflows) ejemplifican esta evolución.
  • La detección requiere técnicas modernas: sondeo de endpoints de extracción de archivos, APIs internas, sistemas de archivos de contenedores.
  • La mitigación debe abarcar validación de entrada, extracción segura, aislamiento de contenedores, endurecimiento de pipelines de artefactos y monitoreo en tiempo de ejecución.
  • En la era nativa en la nube de 2025, path traversal ya no es solo un bug web—es una amenaza a nivel de plataforma.

Palabras finales

Ya seas desarrollador construyendo servicios web, ingeniero DevOps gestionando infraestructura de contenedores, o profesional de seguridad auditando pipelines modernos—la amenaza de path traversal ha evolucionado. La clave es tratar los límites de acceso a archivos como límites de confianza: si la entrada controlada por el usuario o archivos comprimidos sin verificar pueden dictar rutas de archivos, te estás exponiendo. Incluso un simple “leer /etc/passwd” puede ser el primer paso para una escape completa del contenedor.

Mantente alerta. Crea conciencia. Audita tu lógica de extracción, permisos de contenedores y APIs internas. Porque en 2025, Path Traversal 2.0 es real—y las apuestas son más altas que nunca.


Nota meta (para SEO) Palabras clave: path traversal 2025, escape de contenedores traversal, /etc/passwd lectura en contenedor, Zip Slip vulnerabilidad en contenedores, CVE 2025 path traversal, directory traversal API moderna. Usa encabezados H2 para claridad, listas con viñetas para mejorar la legibilidad, y enlaces a CVEs y investigaciones académicas actualizadas para autoridad.


Aviso legal: Este artículo es solo para fines educativos. Siempre obtén permiso antes de probar sistemas en busca de vulnerabilidades.

Continue from this article into the most relevant product guides and workflows.

Related Topics

#path traversal, directory traversal, dot-dot slash attack, ../ attack, directory climbing, back-tracking vulnerability, canonicalization attack, file path manipulation, arbitrary file read vulnerability, directory escape, file system traversal attack, CWE-22, CWE-23, path normalization vulnerability, unauthorized file access, unsanitized file name injection, file inclusion path traversal, web app path traversal, API file download vulnerability, internal API path traversal, unvalidated file parameter, JSON path parameter vulnerability, microservice file read flaw, SSRF plus traversal, web API file read, insecure file serving endpoint, file preview endpoint traversal, encoded path traversal bypass, null-byte traversal attack, container escape vulnerability, container path traversal, container image layer attack, container breakout path traversal, container filesystem traversal, hostPath volume traversal, archive extraction path traversal, ZipSlip container, archive unpack traversal container, CI/CD artifact traversal, supply-chain path traversal, workflow engine path traversal, cloud-native path traversal, Kubernetes path traversal, container runtime traversal, container image path escape, /etc/passwd read, /etc/shadow read, privileged file access containers, system file overwrite path traversal, write /etc/passwd via traversal, config file exposure via traversal, credentials file read path traversal, service account file read, secret token file read traversal, home directory traversal, root directory traversal attack, double URL encoding traversal, UTF-8 encoding traversal, Unicode traversal bypass, UNC path traversal, Windows path traversal ..\ attack, ..%2f traversal, null byte %00 bypass traversal, path canonicalization bypass, alternative separators traversal, zip archive traversal exploit, tar extraction traversal, archive path traversal exploit, layered filesystem traversal container, path sanitization best practices, realpath validation, canonical path check, input validation file paths, allow-list file names, least privileged container filesystem, non-root container user, read-only root filesystem containers, secure archive unpacking, container isolation file system, runtime monitoring file modifications, WAF directory traversal rule, automated vulnerability scanning path traversal, secure coding path traversal guidelines, path traversal 2025, modern path traversal attacks, container escape reading /etc/passwd, archive extraction vulnerability container, ZipSlip 2025, path traversal in cloud-native stacks, directory traversal in Kubernetes workloads, internal microservice file traversal, reading /etc/passwd inside container path traversal, path traversal CVE 2025, file system escape containers path traversal, insecure unpacking container path traversal, exploit path traversal archive container, prevention path traversal container environment

Keep building with InstaTunnel

Read the docs for implementation details or compare plans before you ship.

Share this article

More InstaTunnel Insights

Discover more tutorials, tips, and updates to help you build better with localhost tunneling.

Browse All Articles