{"id":"CVE-2026-58659","aliases":["EUVD-2026-44751","GHSA-qqmf-gpg7-g8gw","PYSEC-2026-3624","PYSEC-2026-3967"],"status":"published","title":"PyTorch Lightning Arbitrary Code Execution via _instantiator Hyperparameter","description":"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.","severity":{"version":"4.0","score":8.4,"vector":"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","level":"high","assessor":"cna","from":"cve"},"epss":{"day":"2026-11-11","score":0.00626,"percentile":0.50481,"model":"v2026.06.15"},"facts":{"in_kev":false,"known_exploited":false,"public_exploit":false,"fix_available":true},"cwes":["CWE-470"],"published":"2026-07-15T17:02:40Z","modified":"2026-11-09T02:47:26Z","fixes":[{"ecosystem":"PyPI","package":"lightning","fixed_in":["2.6.6"],"sources":["ghsa","osv"]},{"ecosystem":"PyPI","package":"pytorch-lightning","fixed_in":["2.6.6"],"sources":["osv"]}],"affected":[{"source":"ghsa","ecosystem":"PyPI","package":"lightning","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"2.6.6"}]}]},{"source":"osv","ecosystem":"PyPI","package":"lightning","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"2.6.6"}]}],"versions":["1.8.0","1.8.0.post1","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","2.6.1","2.6.1.dev20260201","2.6.4","2.6.5"]},{"source":"osv","ecosystem":"PyPI","package":"lightning","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"2.6.6"}]}],"versions":["1.8.0","1.8.0.post1","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","2.6.1","2.6.1.dev20260201","2.6.4","2.6.5"]},{"source":"osv","ecosystem":"PyPI","package":"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"]}],"products":[{"vendor":"lightning-ai","product":"pytorch-lightning"},{"vendor":"lightningai","product":"pytorch_lightning"}],"references":[{"url":"https://github.com/Lightning-AI/pytorch-lightning/issues/21822","tags":["technical-description","exploit","issue-tracking","Exploit","Issue Tracking","Mitigation","report","web"]},{"url":"https://github.com/Lightning-AI/pytorch-lightning/pull/21832","tags":["issue-tracking","patch","Issue Tracking","Patch","fix","web"]},{"url":"https://github.com/Lightning-AI/pytorch-lightning/commit/d710d689510d50e800f53b3cd773cbca20b1f86f","tags":["patch","Patch","fix","web"]},{"url":"https://www.vulncheck.com/advisories/pytorch-lightning-arbitrary-code-execution-via-instantiator-hyperparameter","tags":["third-party-advisory","Exploit","Patch","Third Party Advisory","advisory","web","fix"]},{"url":"https://nvd.nist.gov/vuln/detail/CVE-2026-58659","tags":["advisory"]},{"url":"https://github.com/pypa/advisory-database/tree/main/vulns/lightning/PYSEC-2026-3624.yaml","tags":["web"]},{"url":"https://github.com/Lightning-AI/pytorch-lightning/releases/tag/2.6.6","tags":["web"]},{"url":"https://github.com/advisories/GHSA-qqmf-gpg7-g8gw","tags":["advisory"]},{"url":"https://github.com/pypa/advisory-database/tree/main/vulns/pytorch-lightning/PYSEC-2026-3967.yaml","tags":["web"]},{"url":"https://github.com/CVEProject/cvelistV5/tree/main/cves/2026/58xxx/CVE-2026-58659.json","tags":["advisory"]},{"url":"https://github.com/Lightning-AI/pytorch-lightning","tags":["package"]}],"sources":{"cve":[{"id":"CVE-2026-58659","title":"PyTorch Lightning Arbitrary Code Execution via _instantiator Hyperparameter","description":"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.","status":"published","published":"2026-07-15T17:02:40.64Z","modified":"2026-11-08T14:07:14.048Z","cvss":[{"version":"4.0","score":8.4,"vector":"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","level":"high","assessor":"cna"},{"version":"3.1","score":7.8,"vector":"CVSS:3.1/AV:L/AC:L/PR:N/UI:R/S:U/C:H/I:H/A:H","level":"high","assessor":"cna"}],"cwes":["CWE-470"],"updated_at":"2026-11-08T15:43:33.322657Z"}],"euvd":[{"id":"EUVD-2026-44751","description":"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.","status":"published","published":"2026-07-15T17:02:40Z","modified":"2026-11-08T14:07:14Z","cvss":[{"version":"4.0","score":8.4,"vector":"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","level":"high"}],"updated_at":"2026-11-08T15:13:07.123106Z"}],"ghsa":[{"id":"GHSA-qqmf-gpg7-g8gw","title":" PyTorch Lightning allows arbitrary code execution through checkpoint _instantiator hyperparameters","description":"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.","status":"published","published":"2026-07-15T18:31:58Z","modified":"2026-09-24T15:39:50Z","cvss":[{"version":"4.0","score":8.4,"vector":"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","level":"high"},{"version":"3.1","score":7.8,"vector":"CVSS:3.1/AV:L/AC:L/PR:N/UI:R/S:U/C:H/I:H/A:H","level":"high"}],"cwes":["CWE-470"],"updated_at":"2026-11-02T14:41:21.616682Z"}],"nvd":[{"id":"CVE-2026-58659","description":"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.","status":"published","published":"2026-07-15T18:16:48.743Z","modified":"2026-10-24T21:10:00.13Z","cvss":[{"version":"4.0","score":8.4,"vector":"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","level":"high","assessor":"secondary"},{"version":"3.1","score":7.8,"vector":"CVSS:3.1/AV:L/AC:L/PR:N/UI:R/S:U/C:H/I:H/A:H","level":"high","assessor":"secondary"}],"cwes":["CWE-470"],"updated_at":"2026-11-02T14:12:29.879716Z"}],"osv":[{"id":"CVE-2026-58659","title":"PyTorch Lightning Arbitrary Code Execution via _instantiator Hyperparameter","description":"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.","status":"published","published":"2026-07-15T17:02:40.64Z","modified":"2026-11-09T02:47:26.313185204Z","cvss":[{"version":"4.0","score":8.4,"vector":"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","level":"high"}],"cwes":["CWE-470"],"updated_at":"2026-11-09T03:16:17.543303Z"},{"id":"GHSA-qqmf-gpg7-g8gw","title":" PyTorch Lightning allows arbitrary code execution through checkpoint _instantiator hyperparameters","description":"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.","status":"published","published":"2026-07-15T18:31:58Z","modified":"2026-09-24T15:45:09.719284514Z","cvss":[{"version":"3.1","score":7.8,"vector":"CVSS:3.1/AV:L/AC:L/PR:N/UI:R/S:U/C:H/I:H/A:H","level":"high"},{"version":"4.0","score":8.4,"vector":"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","level":"high"}],"cwes":["CWE-470"],"updated_at":"2026-11-02T15:46:54.760124Z"},{"id":"PYSEC-2026-3624","description":"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.","status":"published","published":"2026-07-15T18:16:48.743Z","modified":"2026-09-10T13:10:44.573169284Z","cvss":[{"version":"4.0","score":8.4,"vector":"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","level":"high"}],"updated_at":"2026-11-02T15:52:56.847083Z"},{"id":"PYSEC-2026-3967","description":"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.","status":"published","published":"2026-07-15T18:16:48.743Z","modified":"2026-09-10T17:00:03.267154781Z","cvss":[{"version":"4.0","score":8.4,"vector":"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","level":"high"}],"updated_at":"2026-11-02T15:52:57.255153Z"}]}}
