Apa yang terjadi
Dalam Trail of Bits fickling hingga 0.1.12, operan STACK_GLOBAL pickle yang membawa __qualname__ bertitik (misalnya 'Values.read_file') diselesaikan oleh find_class pickle melalui _getattribute ke jalur atribut arbitrer daripada fungsi level modul. Fickling hanya mencatat komponen terdepan dalam pelacakan impornya, sehingga referensi atribut belakang tidak pernah diperlakukan atau dianalisis sebagai panggilan; pass analisis OvertlyBadEvals tidak menandainya dan check_safety() mengembalikan LIKELY_SAFE dengan nol temuan. Pickle yang dibuat yang mencapai optparse.Values.read_file mengeksekusi exec(open(filename).read(), vars) saat pickle dimuat melalui fickling.load() — yang merantai check_safety() ke pickle.loads() sebagai gerbang keamanan eksplisit. Ini berbeda dari kelemahan kepercayaan asal modul CVE-2026-16760 dan masih ada di cabang master vendor pada commit d011709 per 2026-10-30; tidak ada perbaikan lengkap yang diverifikasi per 2026-11-01.
Mengapa penting
Fickling adalah alat defensif yang digunakan untuk memeriksa file pickle/model yang tidak tepercaya — tepatnya jalur senjata untuk rantai pasokan ML (model .pkl/.pt berbahaya, checkpoint terlatih pickle). Bypass di gerbang keamanannya berarti file model berbahaya dapat disahkan sebagai 'aman' dan kemudian mengeksekusi kode arbitrer saat dideserialisasi oleh pipeline ML, secara diam-diam mengalahkan kontrol yang diandalkan pembela untuk isolasi pemuatan model. CVSS 8.8, belum ada patch resmi.
Vektor serangan
Penyerang membuat pickle yang operan STACK_GLOBAL-nya menggunakan jalur atribut bertitik sehingga analisis fickling menyelesaikannya ke atribut modul yang tidak terkait; check_safety() mengembalikan LIKELY_SAFE, kemudian pickle dideserialisasi dan mencapai metode kelas (optparse.Values.read_file) yang mengeksekusi isi file, mencapai eksekusi kode arbitrer dengan hak istimewa aplikasi.
Sistem yang terdampak
Trail of Bits fickling <= 0.1.12 (tidak ada perbaikan lengkap yang diverifikasi per 2026-11-01)
Mitigasi
Tidak ada patch resmi hingga jendela ini; anggap hasil fickling sebagai advisori — hindari mendeserialisasi pickle yang tidak tepercaya hanya berdasarkan vonis pemindai, gunakan format serialisasi yang tidak dapat dieksekusi (misalnya safetensors), sandbox/isolasi pemuatan model tanpa rahasia, dan pantau Bombadil Systems / Trail of Bits untuk rilis perbaikan yang menangani resolusi jalur atribut bertitik.