
Prova de conceito para CVE-2026-37197: Server-Side Request Forgery (SSRF) no NukeViet CMS v4.5.07 em upload remoto do administrador, permitindo enumeração da rede interna e acesso a endpoints restritos.
Existe uma vulnerabilidade Server-Side Request Forgery (SSRF) no VINADES JSC NukeViet CMS v4.5.07 no recurso de upload remoto do administrador. O problema permite que um administrador autenticado dispare requisições HTTP do lado do servidor para URLs arbitrárias, fornecendo uma URL de arquivo remoto maliciosa durante o upload de arquivos.
Esta vulnerabilidade pode permitir que atacantes interajam com serviços de rede internos, escaneiem recursos internos ou acessem endpoints restritos que não são diretamente acessíveis externamente.
A vulnerabilidade existe nos seguintes componentes:
admin/upload/upload.php
vendor/vinades/nukeviet/Files/Upload.php
Funções afetadas incluem:
save_urlfile()
check_url()
Essas funções processam uma URL de arquivo remoto fornecida pelo usuário (fileurl) sem validação ou restrições suficientes em requisições de saída.
A funcionalidade de upload remoto permite que administradores façam upload de arquivos usando uma URL como origem. Quando uma URL maliciosa é fornecida através do parâmetro fileurl, a aplicação realiza uma requisição do lado do servidor para o destino fornecido.
Devido à validação insuficiente implementada, um atacante com acesso administrativo pode abusar desse comportamento para forçar o servidor da aplicação a iniciar requisições HTTP para recursos internos ou externos arbitrários.
Além disso, o comportamento de redirecionamento é seguido, aumentando o risco de acesso a recursos internos e reconhecimento de rede.
Um administrador autenticado submete uma URL maliciosa ao endpoint de upload remoto.
Exemplo de cenário de ataque:
Exemplos de alvos:
http://127.0.0.1
http://localhost
http://169.254.169.254
http://192.168.1.1
http://internal-service:8080
Isso pode possibilitar:
Exemplo de requisição maliciosa:
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
O servidor tenta buscar a URL fornecida, resultando em uma requisição do lado do servidor para um recurso interno.
A exploração bem-sucedida pode permitir que um atacante:
O problema ocorre devido a:
A VINADES JSC deve implementar as seguintes mitigações:
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
Desabilitar ou restringir redirecionamentos.
Implementar validação de hostname e DNS para prevenir técnicas de bypass de SSRF.
Usar uma abordagem de lista de permissão para domínios remotos confiáveis quando possível.
Pavan V