{"id":"PYSEC-2026-3967","details":"PyTorch Lightning through 2.6.5, fixed in commit d710d68, contains a remote code execution vulnerability in the _load_state function that imports and executes attacker-controlled module names from checkpoint _instantiator hyperparameters. Attackers can craft malicious checkpoint files that bypass weights_only=True protections to execute arbitrary code when LightningModule.load_from_checkpoint is called.","aliases":["CVE-2026-58659","GHSA-qqmf-gpg7-g8gw","PYSEC-2026-3624"],"modified":"2026-09-10T17:00:03.267154781Z","published":"2026-07-15T18:16:48.743Z","references":[{"type":"REPORT","url":"https://github.com/Lightning-AI/pytorch-lightning/issues/21822"},{"type":"FIX","url":"https://github.com/Lightning-AI/pytorch-lightning/commit/d710d689510d50e800f53b3cd773cbca20b1f86f"},{"type":"FIX","url":"https://github.com/Lightning-AI/pytorch-lightning/pull/21832"},{"type":"FIX","url":"https://www.vulncheck.com/advisories/pytorch-lightning-arbitrary-code-execution-via-instantiator-hyperparameter"},{"type":"WEB","url":"https://github.com/Lightning-AI/pytorch-lightning/releases/tag/2.6.6"},{"type":"ADVISORY","url":"https://github.com/advisories/GHSA-qqmf-gpg7-g8gw"}],"affected":[{"package":{"name":"pytorch-lightning","ecosystem":"PyPI","purl":"pkg:pypi/pytorch-lightning"},"ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"2.6.6"}]}],"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.1","2.3.2","2.3.3","2.4.0","2.5.0","2.5.0.post0","2.5.0rc0","2.5.1","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.1","2.6.4","2.6.5"],"ecosystem_specific":{},"database_specific":{"source":"https://github.com/pypa/advisory-database/blob/main/vulns/pytorch-lightning/PYSEC-2026-3967.yaml"}}],"schema_version":"1.9.0","severity":[{"type":"CVSS_V4","score":"CVSS:4.0/AV:L/AC:L/AT:N/PR:N/UI:A/VC:H/VI:H/VA:H/SC:N/SI:N/SA:N/E:X/CR:X/IR:X/AR:X/MAV:X/MAC:X/MAT:X/MPR:X/MUI:X/MVC:X/MVI:X/MVA:X/MSC:X/MSI:X/MSA:X/S:X/AU:X/R:X/V:X/RE:X/U:X"}]}