Severity by source
AV:N/AC:L/PR:N/UI:R/S:U/C:H/I:H/A:H
Network vector reflects shared/downloaded cache delivery; UI:R because victim must actively load the file; PR:N as no target-side authentication gates deserialization; full C/I/A impact from arbitrary code execution.
Primary rating from Vendor (TuranSec).
CVSS VectorVendor: TuranSec
Lifecycle Timeline
2DescriptionCVE.org
Hugging Face peft's LoRA-GA and CorDA initialization modules (src/peft/tuners/lora/corda.py lines ~102 and ~163, and src/peft/tuners/lora/loraga.py line ~101) call torch.load() on config-specified cache/covariance files without weights_only=True, bypassing peft's own safe-loading wrapper used elsewhere in the codebase. Because torch.load() without weights_only=True performs full pickle deserialization, loading a malicious cache or covariance file (e.g. a shared/downloaded LoRA-GA or CorDA cache) results in arbitrary code execution.
AnalysisAI
Unsafe pickle deserialization in Hugging Face PEFT's LoRA-GA and CorDA initialization modules allows arbitrary code execution when a victim loads a malicious cache or covariance file. The affected code paths in corda.py (lines ~102 and ~163) and loraga.py (line ~101) call torch.load() without weights_only=True, bypassing the safe-loading wrapper that PEFT enforces elsewhere in the codebase. An attacker who can supply or substitute a pre-computed LoRA-GA or CorDA cache file - for example via a shared model repository or poisoned download - achieves full code execution in the victim's ML environment upon initialization. No public exploit code or active exploitation (CISA KEV) has been identified at time of analysis.
Technical ContextAI
PEFT (Parameter-Efficient Fine-Tuning) is a Hugging Face library enabling efficient adaptation of large language models via techniques such as LoRA. LoRA-GA and CorDA are initialization strategies that pre-compute covariance or cache matrices to accelerate or improve LoRA training; these matrices are saved and loaded as files specified by the user's configuration. PyTorch's torch.load() function performs full Python pickle deserialization by default, which is an inherently unsafe operation because pickle can instantiate arbitrary Python objects and execute code during deserialization. The weights_only=True flag, introduced in PyTorch to restrict deserialization to safe tensor types, is used in other parts of the PEFT codebase but was omitted in the three torch.load() call sites identified: corda.py at approximately lines 102 and 163, and loraga.py at approximately line 101. This is a CWE-502 (Deserialization of Untrusted Data) root cause. The affected CPE is cpe:2.3:a:huggingface:peft:*:*:*:*:*:*:*:*, indicating all tracked PEFT versions are potentially affected.
RemediationAI
No vendor-released patch version has been confirmed at time of analysis; references point only to the upstream repository and source file rather than a fix commit or tagged release. Users should immediately audit any use of LoRA-GA or CorDA initialization in their PEFT workflows and avoid loading cache or covariance files from untrusted or unverified sources. As a direct compensating control, developers can manually patch the three affected torch.load() call sites in corda.py (~lines 102 and 163) and loraga.py (~line 101) to add weights_only=True, consistent with PEFT's own safe-loading wrapper used elsewhere in the codebase - note this may break loading of legacy cache files that contain non-tensor objects, requiring those caches to be regenerated. Additionally, restrict the file paths accepted by the config to local, cryptographically verified files only, and avoid downloading pre-computed LoRA-GA or CorDA caches from public or untrusted repositories until a patch is released. Monitor https://github.com/huggingface/peft for upstream fix commits and new releases.
More in Hugging Face
View allThe huggingface/transformers library is vulnerable to arbitrary code execution through deserialization of untrusted data
Arbitrary Python code execution in LMDeploy 0.12.1 through 0.12.2 lets an attacker who publishes a malicious model on Hu
Deserialization of Untrusted Data in GitHub repository huggingface/transformers prior to 4.36. Rated high severity (CVSS
Deserialization of Untrusted Data in GitHub repository huggingface/transformers prior to 4.36. Rated high severity (CVSS
A Regular Expression Denial of Service (ReDoS) vulnerability was discovered in the huggingface/transformers repository,
Path traversal in Hugging Face Datasets up to 5.0.0 allows attackers to read arbitrary local files when a victim process
Path traversal in Hugging Face Accelerate through 1.14.0 exposes two distinct attack outcomes when a user loads a crafte
Server-side request forgery in HuggingFace text-generation-inference through version 3.3.7 enables unauthenticated remot
A Regular Expression Denial of Service (ReDoS) vulnerability was identified in the huggingface/transformers library, spe
Remote code execution in Hugging Face Transformers 5.2.0 allows a malicious model repository to bypass the user's explic
XPath injection in Hugging Face Smolagents 1.20.0 lets an attacker who can influence the text passed to the vision web b
Unauthenticated remote code execution in HuggingFace LeRobot (versions 0 through 0.5.1) stems from pickle.loads() being
Same weakness CWE-502 – Deserialization of Untrusted Data
View allVendor StatusVendor
Share
External POC / Exploit Code
Leaving vuln.today
EUVD-2026-53366
GHSA-g7pc-47rc-wvwf