CVE-2025-4392 7.2 HIGH
Cross-Site Scripting (XSS) almacenado mediante carga de archivos en el plugin Shared Files permite a atacantes no autenticados inyectar scripts maliciosos que se ejecutan cuando los usuarios acceden a los archivos subidos.
| Producto | Shared Files – Frontend File Upload Form & Secure File Sharing |
|---|---|
| Versiones Afectadas | ≤ 1.7.48 |
| Versión Corregida | 1.7.49 |
| Vector CVSS | CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:C/C:L/I:L/A:N |
| CWE | CWE-79 (Neutralización incorrecta de la entrada durante la generación de páginas web (Cross-site Scripting)) |
| Publicado | 2025-06-03 |
| Instalaciones activas | 4,000+ |
Descripción
El plugin Shared Files para WordPress es vulnerable a Cross-Site Scripting (XSS) almacenado en todas las versiones hasta la 1.7.48 incluida. La vulnerabilidad está en la función sanitize_file(), que solo invoca su sanitizador SVG cuando finfo_file() reconoce el contenido subido como exactamente image/svg+xml. Un atacante puede fabricar un SVG con una línea en blanco delante o con texto fuera del elemento raíz para que finfo lo clasifique como text/plain, lo cual es aceptado por la puerta de allowed-MIME del plugin (text/plain está en la lista permitida del core de WordPress vía la extensión .txt). La rama else del sanitizador devuelve entonces los bytes crudos sin cambios, el archivo se guarda con extensión .svg y el servidor web lo sirve más tarde como image/svg+xml según la extensión. Cualquier navegador que abra el archivo lo parsea como SVG y ejecuta el script que el SVG contenga en el origen del sitio.
Impacto
Un atacante no autenticado puede almacenar un SVG cuyo JavaScript se ejecuta en el navegador de cualquier usuario que lo abra desde el listado de Shared Files, incluidos los administradores del sitio. Esto permite secuestro de sesión, ejecutar acciones forzadas como admin, exfiltrar datos solo accesibles para admins y tomar el control de la cuenta a través de la sesión autenticada del administrador.