Apa yang terjadi
Terverifikasi melalui NVD REST API (diterbitkan 2026-10-14, CVSS 8.1, CWE-22/59, GHSA-qvrm-3x4c-rcxf). Perbaikan (0.17.8) menolak anggota tautan yang keluar dari direktori pada jalur ekstraksi arsip dataset.
Mengapa penting
Pipeline pelatihan ML secara rutin menarik arsip dataset dari sumber jarak jauh/host; arsip yang dikompromikan dapat menanamkan file (misalnya ke config, cache, atau direktori model) saat framework berjalan dengan hak istimewa orkestrator — jalur poisoning/overwrite yang praktis ke dalam build ML. Pelatih harus mengekstrak dari sumber yang dipatok dan tervalidasi, serta menjalankan ekstraksi dalam konteks sandbox/least-privilege.
Vektor serangan
extract_archive() memvalidasi nama anggota tar sebelum TarFile.extractall() tetapi tidak untuk anggota symlink/hard-link; arsip yang dibuat khusus membuat tautan yang keluar dari direktori ekstraksi, lalu menulis anggota berikutnya melaluinya ke jalur sistem file arbitrer (CWE-22/59). Pemeriksaan penahanan commonprefix juga mengizinkan jalur sibling yang berbagi prefiks karakter dengan tujuan. Python 3.14 kebal (filter data tar default).
Sistem yang terdampak
ludwig-ai/ludwig < 0.17.8 (Python 3.12/3.13)
Mitigasi
Upgrade ke ludwig >= 0.17.8; validasi asal arsip sebelum ekstraksi; jalankan ingestion dataset dalam kontainer dengan akses sistem file terbatas.