Skip to content
pytorch-lightningGHSA-75m9-98v2-hjpm

PyTorch Lightning load_from_checkpoint has an insecure checkpoint deserialization

High7.8CVE-2026-31221 · Published May 12, 2026 · updated Sep 10, 2026

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.

GitHub advisory

Affected versions

PackageAffectedFixed in
pytorch-lightning
PyPI
<= 2.6.0No fix yet
Details and references
CVSS 3.1
CVSS:3.1/AV:L/AC:L/PR:N/UI:R/S:U/C:H/I:H/A:H
Severity from
GitHub (reviewed advisory)
Weakness
CWE-502
Also known as
CVE-2026-31221, PYSEC-2026-3043, PYSEC-2026-3972

More pytorch-lightning advisories

All pytorch-lightning
Advisory
pytorch-lightning vulnerable to Arbitrary File Write via /v1/runs API endpoint
Critical9.1Sep 10
Remote code execution in pytorch lightning
Critical9.8Sep 10
pytorch-lightning: remote code execution
High7.8Jul 15
Compromise of PyTorch Lightning PyPi Package Versions
Critical9.8May 7
PyTorch Lightning denial of service vulnerability
High7.5Mar 20, 2025
PyTorch Lightning path traversal vulnerability
Critical9.1Mar 20, 2025

Critical advisories by email

Wednesdays: the week’s critical and high advisories in the AI and data stack, with the fixed versions. Only in weeks that have some.

Double opt-in. Unsubscribe any time.