Description
Ray prior to 2.56.0 contains an unsafe deserialization vulnerability in the WebDataset reader that allows attackers to achieve remote code execution by supplying a malicious tar archive to the read_webdataset() function. The _default_decoder() function in webdataset_datasource.py unconditionally calls pickle.loads() on tar entries with .pkl/.pickle extensions and torch.load() with weights_only=False on .pt/.pth entries, executing arbitrary code inside Ray remote workers on every worker that processes the malicious archive.
Affected products
| Vendor | Product | Affected | Fixed |
|---|---|---|---|
| Anyscale | Ray | < 2.56.0 | 2.56.0 |
Affected packages
| Ecosystem | Package | Affected | Fixed | Record |
|---|---|---|---|---|
| PyPI | ray | < 2.56.0 | 2.56.0 | GHSA-hhrp-gw25-jr43 |
References
- Ray ray-2.56.0 Release Notes release-notes
- GitHub Security Advisory (GHSA-hhrp-gw25-jr43) vendor-advisory
- Fix PR (1) patch issue-tracking
- Fix PR (2) patch issue-tracking
- https://www.vulncheck.com/advisories/ray-unsafe-deserialization-rce-via-webdataset-reader third-party-advisory