
Демонстрация для CVE-2023-43654 - Удаленное выполнение кода в PyTorch TorchServe
ShellTorch — это цепочка из 3 критических уязвимостей в PyTorch TorchServe — сервере вывода по умолчанию для PyTorch.
Это POC для SSRF уязвимости, которая приводит к Arbitrary Remote Code Execution из сети
TorchServe 0.8.1docker 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
ShellTorch-CheckerЭтот инструмент используется для проверки, уязвимо ли данное развертывание для CVE-2023-43654.
bash <(curl https://raw.githubusercontent.com/OligoCyberSecurity/ShellTorchChecker/main/ShellTorchChecker.sh) "127.0.0.1"
Вывод:
_____ _ _ ______ _ _ _______ ____ _____ _____ _ _
/ ____ | | | | ____| | | | |__ __/ __ \| __ \ / ____| | | |
| (___ | |__| | |__ | | | | | | | | | | |__) | | | |__| |
\___ \| __ | __| | | | | | | | | | | _ /| | | __ |
____) | | | | |____| |____| |____| | | |__| | | \ \| |____| | | |
|_____/|_| |_|______|______|______|_| \____/|_| \_\______|_| |_|
This script checks for TorchServe CVE-2023-43654
The vulnerability was found by the Oligo research team and allows for No-Auth RCE
For more details please see our full report at https://www.oligo.security/blog/shelltorch-torchserve-ssrf-vulnerability-cve-2023-43654
Disclaimer:
By using this tool, you acknowledge and agree that it is provided "as is" without
warranty of any kind, either express or implied. Oligo and any contributors shall not be held
liable for any direct, indirect, incidental, or consequential damages or false results arising
out of the use, misuse, or reliance on this tool.
You are solely responsible for understanding the output and implications of using this tool
and for any actions taken based on its findings.
Use at your own risk.
...........................................
By continuing running this script I agree that I have read the disclamer and have agreed to it.
Press any key to start scanning, Press Ctrl+C to exit.
torchserve is not running locally.
Scan Results:
[-] Checking Management Interface API Misconfiguration (port 8081)
[X] 127.0.0.1:8081 is open to remote connections
[-] Checking CVE-2023-43654 Remote Server-Side Request Forgery (SSRF)
[X] Vulnerable to CVE-2023-43654 SSRF file download
Recomendations:
[-] Чтобы устранить неправильную конфигурацию API интерфейса управления:
Измените "management_address" в config.properties с 0.0.0.0 на 127.0.0.1
example:
management_address: http://127.0.0.1:8081
[-] Чтобы устранить уязвимость CVE-2023-43654 SSRF file download:
Настройте конкретные URL в поле "allowed_urls" файла config.properties.
example:
allowed_urls=https://s3.amazonaws.com/.*,https://torchserve.pytorch.org/.*
docker kill shelltorch-demo && rm -rf model-store