You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Fix RCE via insecure deserialization in checkpoint loading (GHSA-q85h-wmmp-59p8, high severity):MultiNodeCheckpoint.load() called torch.load(..., weights_only=False) unconditionally when resuming training from a checkpoint directory. Because --model_resume_path (CLI) and LudwigModel.load(from_checkpoint=True) (public API) accept user-supplied paths with only an existence check, a crafted latest.ckpt containing a __reduce__ gadget could execute arbitrary code. Fixed by setting weights_only=True, which uses PyTorch's restricted unpickler — sufficient for all standard optimizer (Adam, SGD) and scheduler state.
Bug fixes
Fix Ray Data failing to read relative local paths:read_remote_parquet now resolves relative local paths to absolute before passing them to Ray Data. Ray 2.56+ schedules read tasks on remote workers whose working directory may differ from the driver, causing "no files found" errors for relative paths.
Fix lint errors from ruff 0.16.2 (RUF036): Move None to the end of type unions across schema and utility files.
Remove broken star history chart embed from README (GitHub restricted stargazer API access on 2026-06-30).