CVE-2026-31237
CRITICAL EPSS 44.3%
Published May 12, 20261mo ago · Modified Jun 17, 20261w ago
9.8 CVSS 3.1
Published May 12, 2026 1mo ago
Last Modified Jun 17, 2026 1w ago
Description
The Ludwig framework thru 0.10.4 is vulnerable to insecure deserialization (CWE-502) through its predict() method. When a user provides a dataset file path to the predict() method, the framework automatically determines the file format. If the file is a pickle (.pkl) file, it is loaded using pandas.read_pickle() without any validation or security restrictions. This allows the deserialization of arbitrary Python objects via the unsafe pickle module. A remote attacker can exploit this by providing a maliciously crafted pickle file, leading to arbitrary code execution on the system running the Ludwig prediction.
CVSS Details
Base Score
Exploitability
Impact
Vector string
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H Attack Vector Network
Attack Complexity Low
Privileges Required None
User Interaction None
Scope Unchanged
Confidentiality High
Integrity High
Availability High
Threat Intelligence
EPSS Exploit Probability
44.3% percentile
Exploit & Patch Status
No Known Exploit
No Patch Available
Weaknesses 1
CWE-502 Deserialization of Untrusted Data Validation
References 2
- github.com https://github.com/ludwig-ai/ludwig
- notion.so https://www.notion.so/CVE-2026-31237-35d1e139318881fb95a2ee7c5d0e17d8
Remediation
No remediation data recorded yet
Check vendor advisories and the NVD entry for patch availability.