Advisory Database
  • Advisories
  • Dependency Scanning
  1. pypi
  2. ›
  3. ludwig
  4. ›
  5. CVE-2026-31237

CVE-2026-31237: Ludwig framework is vulnerable to insecure deserialization through its predict() method.

May 12, 2026 (updated May 27, 2026)

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.

References

  • github.com/advisories/GHSA-wcr3-gm9f-f87q
  • github.com/ludwig-ai/ludwig
  • nvd.nist.gov/vuln/detail/CVE-2026-31237
  • www.notion.so/CVE-2026-31237-35d1e139318881fb95a2ee7c5d0e17d8

Code Behaviors & Features

Detect and mitigate CVE-2026-31237 with GitLab Dependency Scanning

Secure your software supply chain by verifying that all open source dependencies used in your projects contain no disclosed vulnerabilities. Dependency Scanning using SBOM also detects vulnerabilities from proprietary advisories that this site does not include. Learn more about Dependency Scanning using SBOM →

Affected versions

All versions up to 0.10.4

Solution

Unfortunately, there is no solution available yet.

Impact 9.8 CRITICAL

CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H

Learn more about CVSS

Weakness

  • CWE-502: Deserialization of Untrusted Data

Source file

pypi/ludwig/CVE-2026-31237.yml

Spotted a mistake? Edit the file on GitLab.

  • Site Repo
  • About GitLab
  • Terms
  • Privacy Statement
  • Contact

Page generated Sun, 08 Nov 2026 00:16:00 +0000.