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-61183 — Divulgación detallada de una vulnerabilidad XSS almacenada en VaahCMS mediante el manejo inseguro de carga de archivos SVG, incluyendo el flujo de explotación, los endpoints afectados y las estrategias de mitigación para investigadores de seguridad. | Kitploit
Herramientas/GitHubGitHub/thawphone/cve-2025-61183
Análisis de VulnerabilidadesExplotaciónExplotación de Aplicaciones WebSeguridad WebPruebas de PenetraciónAprendizaje y Educación
GitHubthawphone/cve-2025-61183

CVE-2025-61183

Divulgación detallada de una vulnerabilidad XSS almacenada en VaahCMS mediante el manejo inseguro de carga de archivos SVG, incluyendo el flujo de explotación, los endpoints afectados y las estrategias de mitigación para investigadores de seguridad.

Ver Repositorio
hace 6 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-61183] XSS Almacenado en la Carga de Avatar de Usuario a través de Manejo Inseguro de SVG

Resumen

Se identificó una vulnerabilidad de Cross-Site Scripting (XSS) Almacenado en vaahcms, específicamente dentro de la interacción entre la lógica de carga de archivos en MediaController.php y el método storeAvatar() en UserBase.php, que permite a un usuario registrado de bajo nivel cargar un archivo SVG malicioso que contiene JavaScript incrustado. La vulnerabilidad se debe a que el almacenamiento del archivo ocurre antes de la validación de contenido o tipo MIME, dejando archivos maliciosos en una ruta predecible y accesible públicamente en el servidor. La vulnerabilidad surge del método upload() en MediaController.php

$path = $request->file($input_file_name) ->storeAs($request->folder_path, $upload_file_name); permitiendo a un atacante especificar la ruta del directorio, lo que les permite colocar archivos maliciosos (como un SVG con XSS) directamente en el directorio public/, haciendo que la carga útil sea accesible inmediatamente a través de un navegador web.

Impacto

La explotación exitosa permite a un atacante controlar el contenido y el nombre del archivo escrito en una ruta de almacenamiento público (/storage/media/YYYY/MM/<controlled-filename>.svg). Si este SVG accesible públicamente es posteriormente renderizado por el navegador de un usuario a través de un ``, <object> o enlace manipulado, el script incrustado se ejecutará, lo que lleva a un XSS persistente.

Producto y Versiones Afectados

  • Producto: VaahCMS
  • Versiones Vulnerables: 2.3.1

Endpoint Vulnerable

POST /backend/vaah/manage/media/upload

Fallas Críticas

  1. Condición de Carrera/Problema de Temporización: El archivo se guarda físicamente en disco antes de que se realice cualquier validación de contenido o verificación de tipo MIME.
  2. Ruta Predecible: Los archivos maliciosos se guardan en una ruta pública predecible: /storage/media/YYYY/MM/<controlled-filename>.svg.
  3. Sin Limpieza: Los archivos persisten incluso si el backend devuelve un error (ej., {"success": false, "errors": ["Unable to decode input"]}).

Flujo de Explotación (Prueba de Concepto)

  1. Un atacante crea un archivo SVG especialmente diseñado (ver POC.svg).
  2. El atacante envía una solicitud al endpoint vulnerable, controlando el nombre del archivo (ej., xss.svg).
  3. A pesar de una respuesta fallida del backend, el archivo se guarda en disco, por ejemplo, en /storage/media/2025/08/xss.svg.
  4. El atacante entrega un enlace o incrusta la ruta (ej., en una publicación de foro o correo electrónico) a una víctima, desencadenando la carga útil. POC

Mitigación/Respuesta del Proveedor

  • Proveedor: VaahCMS
  • Estado: Reconocido, corrección pendiente
  • Mitigación Temporal:
    • Deshabilitar completamente las cargas de archivos SVG en la aplicación
    • Implementar validación del tipo de archivo en el servidor mediante verificación de tipo MIME antes de almacenar archivos
    • Usar una biblioteca dedicada de saneamiento SVG (ej., enshrined/svg-sanitize para PHP)
    • Almacenar los archivos cargados fuera de la raíz web y servirlos a través de un proxy seguro
    • Implementar limpieza automática de archivos que fallan la validación

🔗 Referencias

  • https://github.com/webreinvent/vaahcms/issues/301

Investigador: Thaw Phone Nyo

Fecha de Divulgación: 2025/10/8

Descargar herramienta