GHSA-xrqw-3rrv-vx5w
Transformers save_pretrained path traversal allows arbitrary file writes through chat template names
Packages
| Ecosystem | Package | Affected | Fixed in |
|---|---|---|---|
| PyPI | transformers | < 5.10.0 | 5.10.0 |
Details
As written in the advisory (Markdown source, shown as plain text).
A vulnerability in huggingface/transformers versions < 5.10.0 allows an attacker to perform arbitrary file writes via path traversal. The issue resides in the `save_pretrained()` methods of `PreTrainedTokenizerBase` and `ProcessorMixin`, where keys from the `chat_template` dictionary are used directly as filenames without proper validation. An attacker can exploit this by publishing a malicious Hugging Face Hub repository with a crafted `tokenizer_config.json` file. When a victim downloads and saves the tokenizer or processor, the attacker-controlled keys can escape the intended save directory, enabling arbitrary file writes with attacker-controlled content. This vulnerability affects multiple processors inheriting from `ProcessorMixin`, including Idefics, Florence, Gemma, Phi, and Qwen-VL.
References
External links from the advisory. They lead to third-party sites.
- https://nvd.nist.gov/vuln/detail/CVE-2026-9856
- https://github.com/huggingface/transformers/pull/46191
- https://github.com/huggingface/transformers/commit/eaaaf8494dd5386634ae37d1d122212fdc315be5
- https://github.com/huggingface/transformers
- https://huntr.com/bounties/362824d5-fe18-40e8-a6cf-62277f97a170