
A Server-Side Request Forgery (SSRF) vulnerability exists in VINADES JSC NukeViet CMS v4.5.07 within the admin remote upload feature. The issue allows an authenticated administrator to trigger server-side HTTP requests to arbitrary URLs by supplying a crafted remote file URL during file upload.
This vulnerability may allow attackers to interact with internal network services, scan internal resources, or access restricted endpoints that are not directly reachable externally.
The vulnerability exists in the following components:
admin/upload/upload.php
vendor/vinades/nukeviet/Files/Upload.php
Affected functions include:
save_urlfile()
check_url()
These functions process a user-supplied remote file URL (fileurl) without sufficient validation or restrictions on outbound requests.
The remote upload functionality allows administrators to upload files using a URL source. When a crafted URL is supplied through the fileurl parameter, the application performs a server-side request to the provided destination.
Because insufficient validation is implemented, an attacker with administrative access can abuse this behavior to force the application server to initiate HTTP requests to arbitrary internal or external resources.
Additionally, redirect behavior is followed, increasing the risk of internal resource access and network reconnaissance.
An authenticated administrator submits a crafted URL to the remote upload endpoint.
Example attack scenario:
Example targets:
http://127.0.0.1
http://localhost
http://169.254.169.254
http://192.168.1.1
http://internal-service:8080
This may enable:
Example crafted request:
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
The server attempts to fetch the supplied URL, resulting in a server-side request to an internal resource.
Successful exploitation may allow an attacker to:
The issue occurs due to:
VINADES JSC should implement the following mitigations:
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
Disable or restrict redirects.
Implement hostname and DNS validation to prevent SSRF bypass techniques.
Use an allowlist approach for trusted remote domains where possible.
Pavan V