
CVE-2026-37197에 대한 개념 증명: NukeViet CMS v4.5.07의 관리자 원격 업로드에서 발생하는 서버 측 요청 위조(SSRF)로, 내부 네트워크 열거 및 제한된 엔드포인트 접근을 가능하게 합니다.
VINADES JSC NukeViet CMS v4.5.07의 관리자 원격 업로드 기능에 서버 측 요청 위조 (SSRF) 취약점이 존재합니다. 이 문제는 인증된 관리자가 파일 업로드 중 조작된 원격 파일 URL을 제공하여 서버 측 HTTP 요청을 임의의 URL로 트리거할 수 있도록 합니다.
이 취약점으로 인해 공격자가 내부 네트워크 서비스와 상호 작용하거나, 내부 리소스를 스캔하거나, 외부에서 직접 접근할 수 없는 제한된 엔드포인트에 액세스할 수 있습니다.
취약점은 다음 구성 요소에 존재합니다:
admin/upload/upload.php
vendor/vinades/nukeviet/Files/Upload.php
영향을 받는 함수는 다음과 같습니다:
save_urlfile()
check_url()
이 함수들은 사용자가 제공한 원격 파일 URL (fileurl)을 아웃바운드 요청에 대한 충분한 검증이나 제한 없이 처리합니다.
원격 업로드 기능은 관리자가 URL 소스를 사용하여 파일을 업로드할 수 있게 합니다. fileurl 매개변수를 통해 조작된 URL이 제공되면 애플리케이션은 제공된 대상에 대해 서버 측 요청을 수행합니다.
충분한 검증이 구현되지 않았기 때문에 관리자 액세스 권한이 있는 공격자는 이 동작을 악용하여 애플리케이션 서버가 임의의 내부 또는 외부 리소스에 HTTP 요청을 시작하도록 강제할 수 있습니다.
또한 리디렉션 동작을 따르므로 내부 리소스 액세스 및 네트워크 정찰의 위험이 증가합니다.
인증된 관리자가 원격 업로드 엔드포인트에 조작된 URL을 제출합니다.
공격 시나리오 예:
대상 예:
http://127.0.0.1
http://localhost
http://169.254.169.254
http://192.168.1.1
http://internal-service:8080
이를 통해 다음이 가능할 수 있습니다:
조작된 요청 예:
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
서버는 제공된 URL을 가져오려고 시도하여 내부 리소스에 대한 서버 측 요청을 발생시킵니다.
성공적인 악용을 통해 공격자는 다음을 수행할 수 있습니다:
문제는 다음과 같은 이유로 발생합니다:
VINADES JSC는 다음과 같은 완화 조치를 구현해야 합니다:
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
리디렉션 비활성화 또는 제한.
SSRF 우회 기술을 방지하기 위해 호스트 이름 및 DNS 검증 구현.
가능한 경우 신뢰할 수 있는 원격 도메인에 대해 허용 목록 접근 방식 사용.
Pavan V