# PyTorch RCE PoC

PoC files for pickle.loads() RCE vulnerabilities in torch.distributed.checkpoint.

- `poc_torch_pg_transport_rce.pkl`: Triggers RCE via StateDict.recv() in _pg_transport.py
- `poc_torch_checkpoint_metadata.pkl`: Triggers RCE via FileSystemReader.read_metadata() in filesystem.py

For security research only.