Home

Description

The Ludwig framework thru 0.10.4 is vulnerable to insecure deserialization (CWE-502) in its model serving component. When starting a model server with the ludwig serve command, the framework loads model weight files using torch.load() without enabling the security-restrictive weights_only=True parameter. This default behavior allows the deserialization of arbitrary Python objects via the pickle module. An attacker can exploit this by providing a maliciously crafted PyTorch model file, leading to arbitrary code execution on the system hosting the Ludwig model server.

PUBLISHED Reserved 2026-03-09 | Published 2026-05-12 | Updated 2026-05-14 | Assigner mitre

References

github.com/ludwig-ai/ludwig

www.notion.so/...2026-31238-35d1e1393188819ea77ee98ca85a2878

cve.org (CVE-2026-31238)

nvd.nist.gov (CVE-2026-31238)

Download JSON