Pillow 13.0.0 Tambal Puluhan Celah, Bug JPEG dan TIFF di Pustaka Gambar Python Dinilai Kritis

Ilustrasi celah keamanan pada pustaka pengolah gambar Python Pillow

Pengelola Pillow, pustaka pengolah gambar yang banyak dipakai aplikasi Python untuk membuka, memotong, dan mengubah ukuran foto, merilis versi 13.0.0 pada 16 Oktober 2026. Rilis ini menutup puluhan masalah keamanan, dan beberapa di antaranya dinilai kritis. Sorotan makin tajam setelah OX Security menerbitkan analisis tiga celahnya dan The Hacker News melaporkannya pada 23 Oktober. Semua versi hingga 12.3.0 terdampak.

Celah yang paling berisiko

CVE-2026-112403 adalah heap buffer overflow di dekoder JPEG. Bug ini muncul saat aplikasi membuat thumbnail dari JPEG lossless yang dirakit khusus, karena Pillow tidak memeriksa ukuran keluaran asli dari libjpeg. Advisory GitHub menyebut celah ini ditemukan Anthropic menggunakan Claude dan divalidasi manual oleh Ada Logics. Dampak yang ditunjukkan sejauh ini berupa crash.

CVE-2026-112393 berada di encoder TIFF. Saat aplikasi menyimpan gambar TIFF ke buffer memori seperti io.BytesIO, data bisa tertulis melewati batas buffer dan sebagian memori heap ikut tersalin ke berkas keluaran. Menyimpan langsung ke berkas di disk tidak terdampak. Menurut The Hacker News, catatan CISA menyebut sudah ada proof-of-concept publik untuk celah ini.

Ada juga celah injeksi argumen ke Ghostscript saat Pillow membuka berkas EPS, yang berlaku untuk versi 2.6.0 sampai 12.3.0. Nama berkas yang dikendalikan penyerang bisa berujung pada eksekusi perintah, bahkan saat opsi -dSAFER aktif. Pengelola Pillow menilainya moderat karena penyerang harus mengendalikan nama berkas. The Hacker News mencatatnya sebagai CVE-2026-112900, sementara advisory resminya belum mencantumkan nomor CVE. Celah lain di format FPX bisa memicu eksekusi perintah hanya dengan membuka berkas rakitan, asalkan paket olefile terpasang. Sejauh ini belum ada laporan celah-celah tersebut dipakai dalam serangan.

Siapa yang perlu waspada

Risiko terbesar ada pada layanan yang memproses gambar kiriman pengguna: situs web berbasis Django atau Flask yang membuat thumbnail foto profil, sistem dokumen yang mengonversi pindaian, dan pipeline AI yang membaca gambar dalam jumlah besar. Pillow juga sering terpasang sebagai dependensi tidak langsung, jadi banyak tim tidak sadar memakainya. Kasus pipeline rilis LiteLLM di PyPI pekan ini menunjukkan betapa cepatnya paket Python yang dipercaya bisa menjadi titik masuk.

Langkah yang perlu diambil

  • Perbarui Pillow ke versi 13.0.0 atau lebih baru. Versi ini tidak lagi mendukung Python 3.10, sehingga sistem lama perlu naik ke Python 3.11 atau lebih baru.
  • Bangun ulang image container, wheel, dan base image yang membawa salinan Pillow lama, lalu periksa dependensi tidak langsung di berkas lock proyek.
  • Bila belum bisa memperbarui, jangan pasang Ghostscript di server yang memproses unggahan pengguna, dan jangan teruskan nama berkas dari pengguna ke Pillow untuk berkas EPS.
  • Untuk JPEG dari sumber tak tepercaya, hindari draft() dan thumbnail(), atau panggil load() lebih dulu. Perlakukan penyimpanan TIFF ke buffer memori sebagai jalur sensitif.

Tim yang menjalankan layanan unggah foto sebaiknya memprioritaskan pembaruan ini minggu ini, karena satu gambar rakitan sudah cukup untuk membuat proses pengolah gambar crash.

Sumber: The Hacker News, catatan rilis Pillow 13.0.0, GitHub Security Advisory Pillow. Gambar: The Hacker News

Tinggalkan Balasan

Alamat email Anda tidak akan dipublikasikan. Ruas yang wajib ditandai *