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-2026-1056-POC — # Snow Monkey Forms <= 12.0.3 - Eliminación Arbitraria de Archivos sin Autenticación mediante Path Traversal (CVE-2026-1056) | Kitploit
Herramientas/GitHubGitHub/ch4r0nn/cve-2026-1056-poc
Análisis de VulnerabilidadesExplotaciónExplotación de Aplicaciones WebSeguridad WebPruebas de Penetración
GitHubch4r0nn/cve-2026-1056-poc

CVE-2026-1056-POC

# Snow Monkey Forms <= 12.0.3 - Eliminación Arbitraria de Archivos sin Autenticación mediante Path Traversal (CVE-2026-1056)

Ver Repositorio
62hace 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-2026-1056-POC

Snow Monkey Forms - PoC de Eliminación Arbitraria de Archivos sin Autenticación

Este repositorio contiene una Prueba de Concepto (PoC) para una vulnerabilidad crítica en el plugin Snow Monkey Forms de WordPress (versiones <= 12.0.3). La vulnerabilidad permite a un atacante no autenticado eliminar archivos arbitrarios en el servidor mediante Path Traversal.

Referencia: Sarawut Poolkhet (MisterHelloz)

Detalles de la Vulnerabilidad

  • Tipo: Eliminación Arbitraria de Archivos / Path Traversal
  • Componente: Snow_Monkey\Plugin\Forms\App\Rest\Route\View.php
  • Método: API REST (/wp-json/snow-monkey-form/v1/view)
  • Autenticación: Sin autenticación

Análisis de la Vulnerabilidad

1. Punto de Entrada y Bypass de Lógica

La vulnerabilidad reside en el manejador de la API REST ubicado en Snow_Monkey\Plugin\Forms\App\Rest\Route\View.php. El método send() determina el flujo basándose en los parámetros de entrada del usuario.

root@kitploit:~
// Archivo: App/Rest/Route/View.php

public function send() {
    Csrf::save_token();
    $method = Meta::get_method(); // Obtenido de $_POST['snow-monkey-forms-meta']['method']

    // VULNERABILIDAD: Si 'method' es 'input', la verificación crítica de CSRF se OMITE.
    if ( 'input' === $method ) {
        return $this->_send(); // Flujo de ejecución directo a _send()
    }

    // La verificación de CSRF solo se realiza para otros métodos (p. ej., 'confirm', 'complete')
    if ( ! Csrf::validate( Meta::get_token() ) ) { ... }

Al proporcionar input como parámetro del método, un atacante obliga a la aplicación a ejecutar la función _send() inmediatamente, omitiendo el control de seguridad Csrf::validate() diseñado para prevenir acciones no autorizadas.

2. Inyección de Path Traversal

Dentro del método _send(), la aplicación intenta realizar una rutina de limpieza para los directorios temporales específicos del usuario. Esta rutina depende del parámetro formid.

root@kitploit:~
// Archivo: App/Rest/Route/View.php -> _send()

// 'form_id' se obtiene directamente de los datos POST mediante la clase Meta sin saneamiento
$user_dirpath = Directory::generate_user_dirpath( $this->setting->get( 'form_id' ), false );

Directory::do_empty( $user_dirpath, true ); // Elimina recursivamente el contenido
Directory::remove( $user_dirpath );         // Elimina el directorio en sí

La falla crítica radica en cómo Directory::generate_user_dirpath construye la ruta:

root@kitploit:~
// Archivo: App/Model/Directory.php

public static function generate_user_dirpath( $form_id, $do_create_directory = true ) {
    $saved_token = Csrf::saved_token();
    // ... (Existe verificación de expresión regular para el token, pero no para form_id) ...

    $user_dir = path_join( static::get(), $saved_token );
    
    // VULNERABILIDAD: $form_id se añade directamente. 
    // path_join() de WordPress NO resuelve ni saneamiento las secuencias '../'.
    $user_dir = path_join( $user_dir, (string) $form_id ); 

    return $user_dir;
}

La variable $form_id se convierte a cadena pero nunca se valida que sea un entero. Esto permite a un atacante inyectar caracteres de traversal de directorios (p. ej., ../../../../).

Uso

  • Encontrar la versión http://site-wordpress.com/wp-content/plugins/snow-monkey-forms/readme.txt

Requisitos Previos

  • Python 3.x
  • Biblioteca requests (pip install requests)

Comando

root@kitploit:~
python exploit.py -u <TARGET_URL> -f <TRAVERSAL_PAYLOAD>
CVE-2026-1056-POC
Descargar herramienta