CVE-2026-31221: Lightning AI PyTorch Lightning insecure deserialization in checkpoint loading

CVE-2026-31221 · Severity: high · CVSS 7.8 · Published 2026-05-12

PyTorch Lightning, a popular framework for training AI models, contains a security flaw in how it loads saved model checkpoints. If a user is tricked into loading a maliciously crafted checkpoint file, an attacker can execute arbitrary commands on the user's computer. This could lead to full system compromise, data theft, or unauthorized access to research environments.

Technologies: lightning (PyPI), pytorch-lightning (PyPI). Vendors: PyPI.

Quick answers

Is CVE-2026-31221 exploited in the wild?
No. Junglewise Threat Intelligence has no report of CVE-2026-31221 being exploited in the wild.
How severe is CVE-2026-31221?
High severity, with a CVSS score of 7.8, published 12 May 2026.
Which products and versions are affected?
lightning (PyPI) ECOSYSTEM:introduced=0,last_affected=2.6.0; pytorch-lightning (PyPI) <= 2.6.0, ECOSYSTEM:introduced=0,last_affected=2.6.0.
Is there a fix for CVE-2026-31221?
No fixed version is recorded yet. Check the vendor's advisory in the references below. If you run it, Junglewise drafts a mitigation that fits your setup and applies it once you approve, with senior security engineers behind it.
How is CVE-2026-31221 attacked?
It is attacked with local access, in a software library.
Am I affected by CVE-2026-31221?
Check whether you run lightning (PyPI) or pytorch-lightning (PyPI) at an affected version. Junglewise does that check for you around the clock: connect your code, cloud and domains, and it matches new vulnerabilities like this one against what you actually run and tells you when one reaches you.

Technical details

An insecure deserialization vulnerability (CWE-502) exists in PyTorch Lightning versions <= 2.6.0 within the checkpoint loading mechanism. The 'LightningModule.load_from_checkpoint()' method internally calls 'torch.load()' without enabling the 'weights_only=True' security restriction. This allows the Pickle module to deserialize arbitrary Python objects. An attacker can exploit this by providing a crafted checkpoint file; when a user loads this file, it triggers arbitrary code execution. The attack requires the victim to load the malicious file (User Interaction), typically in a local environment.

Affected products

  • Lightning-AI pytorch-lightning <= 2.6.0

Identifiers

  • CVE-2026-31221
  • GHSA-75m9-98v2-hjpm
  • PYSEC-2026-3043
  • PYSEC-2026-3972

Timeline

  • 2026-05-12: disclosed
  • 2026-05-12: advisory: NVD publication date
  • 2026-05-18: other: GitHub Advisory reviewed

References

This page as Markdown. Free to reuse under CC BY 4.0 with a link back.