
Prueba de concepto para CVE-2026-37197: Falsificación de solicitud del lado del servidor (SSRF) en NukeViet CMS v4.5.07 en la carga remota del administrador, lo que permite la enumeración de la red interna y el acceso a endpoints restringidos.
Existe una vulnerabilidad de Falsificación de Solicitud del Lado del Servidor (SSRF) en VINADES JSC NukeViet CMS v4.5.07 dentro de la función de carga remota del administrador. El problema permite que un administrador autenticado active solicitudes HTTP del lado del servidor hacia URLs arbitrarias al proporcionar una URL de archivo remoto manipulada durante la carga del archivo.
Esta vulnerabilidad puede permitir a los atacantes interactuar con servicios de red internos, escanear recursos internos o acceder a endpoints restringidos que no son accesibles directamente desde el exterior.
La vulnerabilidad existe en los siguientes componentes:
admin/upload/upload.php
vendor/vinades/nukeviet/Files/Upload.php
Las funciones afectadas incluyen:
save_urlfile()
check_url()
Estas funciones procesan una URL de archivo remoto proporcionada por el usuario (fileurl) sin suficiente validación ni restricciones en las solicitudes salientes.
La funcionalidad de carga remota permite a los administradores cargar archivos usando una URL como origen. Cuando se proporciona una URL manipulada a través del parámetro fileurl, la aplicación realiza una solicitud del lado del servidor al destino proporcionado.
Debido a que no se implementa una validación suficiente, un atacante con acceso de administrador puede abusar de este comportamiento para forzar al servidor de la aplicación a iniciar solicitudes HTTP hacia cualquier recurso interno o externo.
Además, se sigue el comportamiento de redirección, aumentando el riesgo de acceso a recursos internos y reconocimiento de red.
Un administrador autenticado envía una URL manipulada al endpoint de carga remota.
Escenario de ataque de ejemplo:
Ejemplos de objetivos:
http://127.0.0.1
http://localhost
http://169.254.169.254
http://192.168.1.1
http://internal-service:8080
Esto puede permitir:
Ejemplo de solicitud manipulada:
POST /admin/index.php?language=en&nv=upload&op=upload HTTP/1.1
Host: target.com
Content-Type: application/x-www-form-urlencoded
Cookie: admin_session=SESSION
fileurl=http://127.0.0.1:8080
El servidor intenta obtener la URL proporcionada, resultando en una solicitud del lado del servidor a un recurso interno.
Una explotación exitosa puede permitir a un atacante:
El problema ocurre debido a:
VINADES JSC debería implementar las siguientes mitigaciones:
127.0.0.0/8
10.0.0.0/8
172.16.0.0/12
192.168.0.0/16
169.254.169.254
localhost
http
https
Deshabilitar o restringir redirecciones.
Implementar validación de nombres de host y DNS para prevenir técnicas de evasión de SSRF.
Usar un enfoque de lista blanca para dominios remotos confiables cuando sea posible.
Pavan V