CVE-2024-5452 RCE via Property/Class Pollution in lightning-ai/pytorch-lightning

Critical 9.8 Published Updated

Attackers can achieve remote code execution on self-hosted PyTorch Lightning applications by exploiting deserialization flaws in the default delta endpoint.

Exploited in the wild
Not known
Login needed
Not needed
Attackable
Over the internet
Victim action needed
Not needed
Fix
Available

What is CVE-2024-5452?

CVE-2024-5452 is a critical unsafe deserialization vulnerability in lightning-ai/pytorch-lightning, published on 6 Jun 2024. An attacker can exploit it over the internet without logging in, with no action from the victim.

Official description

A remote code execution (RCE) vulnerability exists in the lightning-ai/pytorch-lightning library version 2.2.1 due to improper handling of deserialized user input and mismanagement of dunder attributes by the `deepdiff` library. The library uses `deepdiff.Delta` objects to modify application state based on frontend actions. However, it is possible to bypass the intended restrictions on modifying dunder attributes, allowing an attacker to construct a serialized delta that passes the deserializer whitelist and contains dunder attributes. When processed, this can be exploited to access other modules, classes, and instances, leading to arbitrary attribute write and total RCE on any self-hosted pytorch-lightning application in its default configuration, as the delta endpoint is enabled by default.

Weakness: CWE-913, CWE-915

Which versions are affected by CVE-2024-5452?

4 open source packages ship an affected version, including lightning and pytorch-lightning. It affects 1 product.

PackageAffectedFixed in
lightning PyPIAll versions2.3.3
lightning PyPIAll versions2.3.3
lightning PyPIAll versions2.3.3
pytorch-lightning PyPIAll versions2.3.3

Products include Lightningai Pytorch Lightning.

How do I fix CVE-2024-5452?

Upgrade lightning to 2.3.3 or later.

Upgrade, and only deserialise data from trusted sources or with an allow-list of types. More about Unsafe deserialization.

Is CVE-2024-5452 being exploited?

It is not confirmed as exploited in the wild, but public exploit code for CVE-2024-5452 exists.

Public exploit code: 1 proofs of concept on GitHub.

Sources

Also known as GHSA-cgwc-qvrx-rf7f, PYSEC-2026-385, PYSEC-2026-3974.

Is CVE-2024-5452 in your software?

Upload an SBOM and sbomify checks it against every vulnerability here, every day.

Check your SBOMs for free