{"id":"CVE-2026-71281","summary":"peft Unsafe Deserialization via torch.load() Without weights_only in LoRA-GA and CorDA Modules","details":"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.","modified":"2026-08-07T03:30:53.721992573Z","published":"2026-08-05T12:26:27.376Z","database_specific":{"cwe_ids":["CWE-502"],"osv_generated_from":"https://github.com/CVEProject/cvelistV5/tree/main/cves/2026/71xxx/CVE-2026-71281.json","cna_assigner":"TuranSec"},"references":[{"type":"WEB","url":"https://github.com/huggingface/peft/blob/main/src/peft/tuners/lora/corda.py"},{"type":"ADVISORY","url":"https://github.com/CVEProject/cvelistV5/tree/main/cves/2026/71xxx/CVE-2026-71281.json"},{"type":"ADVISORY","url":"https://nvd.nist.gov/vuln/detail/CVE-2026-71281"},{"type":"PACKAGE","url":"https://github.com/huggingface/peft"}],"affected":[{"ranges":[{"type":"GIT","repo":"https://github.com/huggingface/peft","events":[{"introduced":"0"},{"last_affected":"ba6a19060d6ab54a87538a6e77e3e4d5a907375b"}],"database_specific":{"source":"AFFECTED_FIELD","extracted_events":[{"introduced":"0"},{"last_affected":"0.19.1"}]}}],"versions":["v0.19.1","v0.19.0","v0.18.0","v0.18.0.rc0","v0.17.0","v0.16.0","v0.15.0","v0.14.0","v0.13.0","v0.12.0","v0.11.0","v0.10.0","v0.9.0","v0.8.1","v0.8.0","v0.7.1","v0.7.0","v0.6.0"],"database_specific":{"source":"https://storage.googleapis.com/cve-osv-conversion/osv-output/CVE-2026-71281.json"}}],"schema_version":"1.8.0","severity":[{"type":"CVSS_V3","score":"CVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:U/C:H/I:H/A:H"}]}