CVE-2024-5452

Source
https://nvd.nist.gov/vuln/detail/CVE-2024-5452
Import Source
https://storage.googleapis.com/osv-test-cve-osv-conversion/osv-output/CVE-2024-5452.json
JSON Data
https://api.test.osv.dev/v1/vulns/CVE-2024-5452
Aliases
Published
2024-06-06T18:15:20Z
Modified
2024-10-12T11:31:34.656783Z
Severity
  • 9.8 (Critical) CVSS_V3 - CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H CVSS Calculator
Summary
[none]
Details

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.

References

Affected packages

Git / github.com/lightning-ai/pytorch-lightning

Affected ranges

Type
GIT
Repo
https://github.com/lightning-ai/pytorch-lightning
Events
Introduced
0 Unknown introduced commit / All previous commits are affected
Fixed

Affected versions

0.*

0.0.1
0.0.2
0.1.1
0.1.2
0.10.0
0.2
0.2.1
0.2.2
0.2.3
0.2.4
0.2.5
0.2.6
0.3
0.3.1
0.3.2
0.3.3
0.3.4
0.3.5
0.3.6
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.9
0.5.0
0.5.1
0.5.2
0.5.2.1
0.5.3
0.5.3.1
0.5.3.2
0.6.0
0.7.0
0.7.1
0.7.2
0.7.3
0.7.4
0.7.5
0.7.6
0.8.0
0.8.1
0.8.2
0.8.3
0.8.4
0.8.5
0.9.0

1.*

1.0.0
1.0.1
1.0.2
1.0.3
1.0.4
1.1.0
1.1.0rc1
1.1.0rc2
1.2.0
1.2.0rc1
1.2.0rc2
1.3.0
1.3.0rc0
1.3.0rc1
1.3.0rc2
1.3.0rc3
1.4.0
1.4.0rc0
1.4.0rc1
1.4.0rc2
1.5.0
1.5.0rc0
1.5.0rc1
1.6.0
1.6.0rc0
1.6.0rc1
1.7.0
1.7.0rc0
1.7.0rc1
1.8.0
1.8.0rc0
1.8.0rc1
1.8.0rc2
1.9.0
1.9.0rc0

2.*

2.0.0
2.0.0rc0
2.1.0
2.1.0.rc0
2.1.0.rc1
2.2.0
2.2.0.rc0
2.3.0
2.3.1
2.3.2

app/0.*

app/0.6.0rc0