
CVE-2023-43654 데모 - PyTorch TorchServe의 원격 코드 실행
ShellTorch는 PyTorch의 기본 추론 서버인 PyTorch TorchServe에서 발견된 3개의 치명적 취약점 체인입니다.
이는 네트워크를 통해 임의의 원격 코드 실행으로 이어지는 SSRF 취약점에 대한 종단 간 POC입니다.
docker run -d --rm -it -p 8080:8080 -p 8081:8081 -p 8082:8082 -p 7070:7070 -p 7071:7071 --name shelltorch-demo pytorch/torchserve:0.8.1-cpu
docker logs -f shelltorch-demo
이 도구는 주어진 배포가 CVE-2023-43654에 취약한지 확인하는 데 사용됩니다.
bash <(curl https://raw.githubusercontent.com/OligoCyberSecurity/ShellTorchChecker/main/ShellTorchChecker.sh) "127.0.0.1"
출력:
_____ _ _ ______ _ _ _______ ____ _____ _____ _ _
/ ____ | | | | ____| | | | |__ __/ __ \| __ \ / ____| | | |
| (___ | |__| | |__ | | | | | | | | | | |__) | | | |__| |
\___ \| __ | __| | | | | | | | | | | _ /| | | __ |
____) | | | | |____| |____| |____| | | |__| | | \ \| |____| | | |
|_____/|_| |_|______|______|______|_| \____/|_| \_\______|_| |_|
이 스크립트는 TorchServe CVE-2023-43654를 확인합니다.
이 취약점은 Oligo 연구팀에 의해 발견되었으며 인증 없이 원격 코드 실행(RCE)이 가능합니다.
자세한 내용은 https://www.oligo.security/blog/shelltorch-torchserve-ssrf-vulnerability-cve-2023-43654 에서 전체 보고서를 참조하십시오.
면책 조항:
이 도구를 사용함으로써 귀하는 이 도구가 명시적이든 묵시적이든 어떠한 종류의 보증 없이 "있는 그대로" 제공된다는 점을 인정하고 동의합니다.
Oligo 및 모든 기여자는 이 도구의 사용, 오용, 또는 의존으로 인해 발생하는 직접적, 간접적, 우발적, 결과적 손해 또는 오류 결과에 대해 책임을 지지 않습니다.
귀하는 이 도구의 출력 결과와 그 의미를 이해하고, 그 결과에 기반한 모든 조치에 대해 전적인 책임을 집니다.
사용에 따른 위험은 전적으로 귀하의 책임입니다.
...........................................
이 스크립트를 계속 실행함으로써 위 면책 조항을 읽고 이에 동의했음을 인정합니다.
스캔을 시작하려면 아무 키나 누르고, 종료하려면 Ctrl+C를 누르십시오.
torchserve가 로컬에서 실행되고 있지 않습니다.
스캔 결과:
[-] 관리 인터페이스 API 오설정 확인 (포트 8081)
[X] 127.0.0.1:8081이 원격 연결에 대해 열려 있습니다
[-] CVE-2023-43654 원격 서버 측 요청 위조(SSRF) 확인
[X] CVE-2023-43654 SSRF 파일 다운로드에 취약합니다
권장 사항:
[-] 관리 인터페이스 API 오설정 해결 방법:
config.properties에서 "management_address"를 0.0.0.0에서 127.0.0.1로 변경하십시오
예시:
management_address: http://127.0.0.1:8081
[-] CVE-2023-43654 SSRF 파일 다운로드 해결 방법:
config.properties의 "allowed_urls" 필드에 특정 URL을 구성하십시오
예시:
allowed_urls=https://s3.amazonaws.com/.*,https://torchserve.pytorch.org/.*
docker kill shelltorch-demo && rm -rf model-store