
CVE-2025-32434에 대한 개념 증명 익스플로잇으로, PyTorch의 weights_only 모드에서 pickle 역직렬화 취약점을 악용하여 악성 tar 파일 생성 및 실행을 시연합니다.
torch/serialization.py:1474pickle_moudle.load(): torch/serialization.py:1487Unpickler.load(): torch/_weights_only_unpickler.py:214weights_only_unpickler 모드에서는 pickle 역직렬화가 핵심이므로, pickle 프로토콜을 검색하면 도움이 될 수 있습니다. 참고: https://rushter.com/blog/pickle-serialization-internals/
이 PoC는 먼저 악성 tar 파일을 생성합니다. 파일 이름 "storages"는 pytorch에 필요하다는 점에 유의하세요. 그런 다음 tar 파일을 로드하여 취약점을 트리거합니다.
이제 tar 파일이 안전하지 않은 모드에서 실행 가능합니다. 다음 단계는 보안 보호를 활성화하고 다음과 같이 검증을 우회하는 것입니다:
_pickle.UnpicklingError: Unsupported global: GLOBAL __builtin__.eval was not an allowed global by default. Please use `torch.serialization.add_safe_globals([eval])` to allowlist this global if you trust this class/function.