Read the docs
TI-2026-23898 Aliases CVE-2026-31237GHSA-wcr3-gm9f-f87q

The Ludwig framework thru 0.10.4 is vulnerable to insecure deserialization (CWE-502)…

Priority MEDIUM 50CWE-502Published · Updated

Key facts

Attack vector
Network
Privileges required
None
User interaction
None
Attack complexity
Low
Impact type
Code execution
Confidentiality · integrity · availability
High · High · High
Fix status
No fix listed

Attack profile from CVSS 3.1 · CISA ADP. Fix status from CNA and GitHub. Impact type from CWE-502.

Summary

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.

Why it matters now

Exploitation None reported CISA SSVC · not in CISA KEV
EPSS 0.006 48th percentileScored 2026-11-07
Fix No fix listed No fixed version in the sources yet

SSVC decision points

CISA ADP · SSVC 2.0.3

Exploitation
None
Automatable
Yes
Technical impact
Total

The decision (Track, Attend, Act) also depends on your mission and well-being impact; see CISA's SSVC guide.

Affected products

VendorProductAffected versionsFixed inStatusSource
——all versions—No fix listedCNA
—ludwig (PyPI)up to 0.10.4—No fix listedGHSA-wcr3-gm9f-f87q
  • — Vendor— Affected all versions Fixed in — No fix listed CNA
  • ludwig (PyPI) Vendor— Affected up to 0.10.4 Fixed in — No fix listed GHSA-wcr3-gm9f-f87q

Remediation

No fixed version listed by the sources yet.

Timeline

  1. 2026-10-02 Threatist record created from CVE-2026-31237
  2. 2026-10-03 Alias added: GHSA-wcr3-gm9f-f87q
  3. 2026-10-25 EPSS moved to the below the 50th percentile

References

Sources