CVE-2026-91771
largePath Traversal in Weights & Biases wandb SDK File.download (before 0.29.0)
The Weights & Biases wandb Python client before version 0.29.0 fails to validate file names returned in server responses by its File.download function, enabling a path traversal (CWE-22) attack. An attacker who controls the backend — a compromised or malicious self-hosted W&B server, a spoofed endpoint, or a man-in-the-middle if TLS is not enforced — can supply file names containing directory traversal sequences such as '../', causing the client to write files outside the intended download directory when a user downloads a file. This arbitrary file write can be escalated to code execution by overwriting shell startup files (e.g., ~/.bashrc, ~/.zshrc) or planting Python import-path configuration such as .pth files. Anyone running the wandb client below 0.29.0 who downloads files is affected; the attack requires the victim to initiate a download, which is reflected in the CVSS 4.0 score of 8.7 (AV:N/AC:L/PR:N/UI:P). No public proof of concept is known and the flaw is not in CISA's KEV catalog, so exploitation is currently none known.
What to do: Upgrade the wandb client to version 0.29.0 or later immediately (pip install --upgrade wandb) across development machines, training servers, and CI images. Only download files from trusted W&B backends (official cloud or self-hosted instances you control) and verify that connections are made over TLS so server responses cannot be tampered with. Audit machines that ran older clients for unexpected files written outside the wandb download directory, and review shell startup files (~/.bashrc, ~/.zshrc, ~/.profile) and site-packages .pth files for signs of tampering.
| Weights & Biases wandb (Python SDK / client library) | before 0.29.0 (< 0.29.0) |
Order-of-magnitude estimate by the model from install counts, market share and public scan data it knows; verify before quoting.
Weights & Biases wandb before 0.29.0 fails to validate the file name from server responses in the File.download function, allowing path traversal attacks. Attackers controlling the backend can supply file names with directory traversal sequences to write files outside the intended download directory, potentially enabling code execution through modification of shell startup files or Python import paths.
- Weakness
- CWE-22
- Vector
- CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:P/VC:H/VI:H/VA:H/SC:N/SI:N/SA:N/E:X/CR:X/IR:X/AR:X/MAV:X/MAC:X/MAT:X/MPR:X/MUI:X/MVC:X/MVI:X/MVA:X/MSC:X/MSI:X/MSA:X/S:X/AU:X/R:X/V:X/RE:X/U:X
In the news0 stories
No ingested article mentions this CVE yet.