CVE-2026-80047
UnknownSummary
A vulnerability in Hugging Face Transformers (versions 4.49.0 through 5.8.1) allows remote Python files to be written to local disk without user consent when using GenerativePreTrainedModel.load_custom_generate(). The function fetches and caches a remote module file before performing the required trust_remote_code consent check, inverting the security model enforced by other code-loading paths. As a result, attacker-controlled Python code from custom_generate/generate.py is copied into the user's ~/.cache/huggingface/modules directory even if the user declines the trust prompt.
Risk Assessment
An attacker can leave persistent, unauthorized files on the user's disk, and cached malicious files may later be executed during trusted model loads, posing a risk of long-term compromise.
Recommendation
Update the Hugging Face Transformers library to a patched version, or avoid using load_custom_generate() until a fix is available.
Other vulnerabilities in Hugging Face Transformers
See all- CVE-2026-75104Medium
Hugging Face Transformers fails to validate shard filenames in checkpoint index files, allowing attackers to read arbitrary files outside the model directory. Malicious index files with parent-directory references or absolute paths can lead to file disclosure and filesystem reconnaissance.
- CVE-2026-9856High
Hugging Face Transformers up to version 5.8.0.dev0 has an arbitrary file write vulnerability via path traversal in save_pretrained(). Keys from chat_template are used as filenames without validation.
Original NVD description (English source)
A vulnerability in Hugging Face Transformers (versions 4.49.0, <= 5.8.1) allows remote Python files to be written to local disk without user consent when using GenerativePreTrainedModel.load_custom_generate(). The function fetches and caches a remote module file before performing the required trust_remote_code consent check, inverting the security model enforced by other code-loading paths (such as AutoConfig, AutoModel, and AutoTokenizer). As a result, attacker‑controlled Python code from custom_generate/generate.py is copied into the user’s ~/.cache/huggingface/modules directory even if the user declines the trust prompt. Although execution is correctly gated, the file write is not reversible and can persist across sessions. This can lead to persistent, unauthorized files on disk and stale cache collisions where cached attacker code may later be executed during trusted model loads. The issue stems from an unconditional file write in dynamic_module_utils.py prior to any trust verification.

