{"id":"PYSEC-2026-3972","summary":"PyTorch Lightning load_from_checkpoint has an insecure checkpoint deserialization","details":"PyTorch-Lightning versions 2.6.0 and earlier contain an insecure deserialization vulnerability (CWE-502) in the checkpoint loading mechanism. The LightningModule.load_from_checkpoint() method, which is commonly used to load saved model states, internally calls torch.load() without setting the security-restrictive weights_only=True parameter. This default behavior allows the deserialization of arbitrary Python objects via the Pickle module. A remote attacker can exploit this by providing a maliciously crafted checkpoint file, leading to arbitrary code execution on the victim's system when the file is loaded.","aliases":["CVE-2026-31221","GHSA-75m9-98v2-hjpm","PYSEC-2026-3043"],"modified":"2026-09-10T17:25:50.009044130Z","published":"2026-09-10T16:42:38.605243Z","references":[{"type":"ADVISORY","url":"https://nvd.nist.gov/vuln/detail/CVE-2026-31221"},{"type":"PACKAGE","url":"https://github.com/Lightning-AI/pytorch-lightning"},{"type":"WEB","url":"https://www.notion.so/CVE-2026-31221-35d1e1393188815f8db7c4fd08076639"},{"type":"PACKAGE","url":"https://pypi.org/project/pytorch-lightning"},{"type":"ADVISORY","url":"https://github.com/advisories/GHSA-75m9-98v2-hjpm"}],"affected":[{"package":{"name":"lightning","ecosystem":"PyPI","purl":"pkg:pypi/lightning"},"ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"last_affected":"2.6.0"}]}],"versions":["0.0.2","0.10.0","0.2","0.2.2","0.2.3","0.2.4","0.2.4.1","0.2.5","0.2.5.1","0.2.5.2","0.2.6","0.3","0.3.1","0.3.2","0.3.3","0.3.4","0.3.4.1","0.3.5","0.3.6","0.3.6.1","0.3.6.3","0.3.6.4","0.3.6.5","0.3.6.6","0.3.6.7","0.3.6.8","0.3.6.9","0.4.0","0.4.1","0.4.2","0.4.3","0.4.4","0.4.5","0.4.6","0.4.7","0.4.8","0.4.9","0.5.0","0.5.1","0.5.1.2","0.5.1.3","0.5.2","0.5.2.1","0.5.3","0.5.3.1","0.5.3.2","0.5.3.3","0.6.0","0.7.1","0.7.3","0.7.5","0.7.6","0.8.1","0.8.3","0.8.4","0.8.5","0.9.0","1.0.0","1.0.1","1.0.2","1.0.3","1.0.4","1.0.5","1.0.6","1.0.7","1.0.8","1.1.0","1.1.1","1.1.2","1.1.3","1.1.4","1.1.5","1.1.6","1.1.7","1.1.8","1.2.0","1.2.0rc0","1.2.0rc1","1.2.0rc2","1.2.1","1.2.10","1.2.2","1.2.3","1.2.4","1.2.5","1.2.6","1.2.7","1.2.8","1.2.9","1.3.0","1.3.0rc1","1.3.0rc2","1.3.0rc3","1.3.1","1.3.2","1.3.3","1.3.4","1.3.5","1.3.6","1.3.7","1.3.7.post0","1.3.8","1.4.0","1.4.0rc0","1.4.0rc1","1.4.0rc2","1.4.1","1.4.2","1.4.3","1.4.4","1.4.5","1.4.6","1.4.7","1.4.8","1.4.9","1.5.0","1.5.0rc0","1.5.0rc1","1.5.1","1.5.10","1.5.10.post0","1.5.2","1.5.3","1.5.4","1.5.5","1.5.6","1.5.7","1.5.8","1.5.9","1.6.0","1.6.0rc0","1.6.0rc1","1.6.1","1.6.2","1.6.3","1.6.4","1.6.5","1.6.5.post0","1.7.0","1.7.0rc0","1.7.0rc1","1.7.1","1.7.2","1.7.3","1.7.4","1.7.5","1.7.6","1.7.7","1.8.0","1.8.0.post1","1.8.0rc0","1.8.0rc1","1.8.0rc2","1.8.1","1.8.2","1.8.3","1.8.3.post0","1.8.3.post1","1.8.3.post2","1.8.4","1.8.4.post0","1.8.5","1.8.5.post0","1.8.6","1.9.0","1.9.0rc0","1.9.1","1.9.2","1.9.3","1.9.4","1.9.5","2.0.0","2.0.0rc0","2.0.1","2.0.1.post0","2.0.2","2.0.3","2.0.4","2.0.5","2.0.6","2.0.7","2.0.8","2.0.9","2.0.9.post0","2.1.0","2.1.0rc0","2.1.0rc1","2.1.1","2.1.2","2.1.3","2.1.4","2.2.0","2.2.0.post0","2.2.0rc0","2.2.1","2.2.2","2.2.3","2.2.4","2.2.5","2.3.0","2.3.0.dev20240318","2.3.0.dev20240324","2.3.0.dev20240328","2.3.0.dev20240331","2.3.0.dev20240407","2.3.0.dev20240414","2.3.0.dev20240421","2.3.0.dev20240428","2.3.0.dev20240505","2.3.0.dev20240519","2.3.0.dev20240526","2.3.0.dev20240602","2.3.0.dev20240609","2.3.0.dev20240616","2.3.0.dev20240623","2.3.1","2.3.2","2.3.3","2.4.0","2.4.0.dev20240630","2.4.0.dev20240707","2.4.0.dev20240714","2.4.0.dev20240721","2.4.0.dev20240728","2.4.0.dev20240804","2.4.0.dev20240811","2.4.0.dev20240818","2.4.0.dev20240825","2.4.0.dev20240901","2.4.0.dev20240908","2.4.0.dev20240915","2.4.0.dev20240922","2.4.0.dev20240929","2.4.0.dev20241006","2.4.0.dev20241013","2.4.0.dev20241020","2.5.0","2.5.0.dev20241027","2.5.0.dev20241103","2.5.0.dev20241110","2.5.0.dev20241117","2.5.0.dev20241124","2.5.0.dev20241201","2.5.0.dev20241208","2.5.0.dev20241215","2.5.0.dev20241222","2.5.0.dev20241229","2.5.0.dev20250105","2.5.0.dev20250112","2.5.0.dev20250119","2.5.0.dev20250126","2.5.0.dev20250202","2.5.0.dev20250209","2.5.0.dev20250216","2.5.0.dev20250223","2.5.0.dev20250302","2.5.0.dev20250309","2.5.0.dev20250316","2.5.0.post0","2.5.0rc0","2.5.1","2.5.1.dev20250323","2.5.1.dev20250330","2.5.1.dev20250406","2.5.1.dev20250413","2.5.1.dev20250420","2.5.1.dev20250427","2.5.1.dev20250504","2.5.1.dev20250511","2.5.1.dev20250518","2.5.1.dev20250525","2.5.1.dev20250601","2.5.1.dev20250608","2.5.1.dev20250615","2.5.1.dev20250622","2.5.1.post0","2.5.1rc0","2.5.1rc1","2.5.1rc2","2.5.2","2.5.3","2.5.4","2.5.5","2.5.6","2.6.0","2.6.0.dev0","2.6.0.dev20250629","2.6.0.dev20250706","2.6.0.dev20250713","2.6.0.dev20250720","2.6.0.dev20250727","2.6.0.dev20250803","2.6.0.dev20250810","2.6.0.dev20250817","2.6.0.dev20250824","2.6.0.dev20250831","2.6.0.dev20250914","2.6.0.dev20250921","2.6.0.dev20250928","2.6.0.dev20251005","2.6.0.dev20251012","2.6.0.dev20251019","2.6.0.dev20251026","2.6.0.dev20251102","2.6.0.dev20251109","2.6.0.dev20251116","2.6.0.dev20251123","2.6.0.dev20251130","2.6.0.dev20251207","2.6.0.dev20251214","2.6.0.dev20251221","2.6.0.dev20251228","2.6.0.dev20260104","2.6.0.dev20260111","2.6.0.dev20260118","2.6.0.dev20260125"],"database_specific":{"source":"https://github.com/pypa/advisory-database/blob/main/vulns/lightning/PYSEC-2026-3972.yaml"}}],"schema_version":"1.9.0","severity":[{"type":"CVSS_V3","score":"CVSS:3.1/AV:L/AC:L/PR:N/UI:R/S:U/C:H/I:H/A:H"}]}