Kerentanan  ·  2026-10-15

Ludwig (LLM framework) dataset archive extraction: symlink/hardlink tar-slip → arbitrary file write when loading datasets

KerentananMedium dampakGlobalCVE-2026-104103
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.
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.
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).
ludwig-ai/ludwig < 0.17.8 (Python 3.12/3.13)
Upgrade ke ludwig >= 0.17.8; validasi asal arsip sebelum ekstraksi; jalankan ingestion dataset dalam kontainer dengan akses sistem file terbatas.
NVD CVE-2026-104103GitHub advisory GHSA-qvrm-3x4c-rcxf
Lihat di umpan langsung Jelajahi temuan keamanan dan tata kelola AI terkait — diperbarui setiap pagi.
Buka umpan →