Pillow เสี่ยงบริการค้าง ข้อมูลรั่ว และรันโค้ด: USN-9064-1
ผู้ดูแลระบบและนักพัฒนาที่ใช้ Pillow รับไฟล์จากภายนอกควรเร่งติดตั้งแพตช์ตามรุ่น Ubuntu ที่ใช้งาน
1-minute summary
- Symptom / problem
- ไฟล์ที่สร้างมาโจมตีอาจทำให้ Pillow ค้าง ใช้ทรัพยากรจนหมด เปิดเผยหน่วยความจำ หรือรันโค้ดได้ในบางช่องโหว่
- Who should read
- ผู้ดูแลระบบและนักพัฒนาที่ใช้แพ็กเกจ Pillow บน Ubuntu รุ่นที่ประกาศระบุ
- Fix in short
- อัปเดตแพ็กเกจตามตาราง โดย Ubuntu 24.04 LTS ใช้ python3-pil รุ่น 10.2.0-1ubuntu1.5 และรุ่นเก่าบางรุ่นต้องรับแพตช์ผ่าน Ubuntu Pro
พอดีเห็น Ubuntu ออกประกาศ USN-9064-1 วันที่ 12 พฤศจิกายน 2026 แก้ช่องโหว่ใน Pillow ไลบรารีจัดการภาพของ Python แอปที่เปิดหรือแปลงไฟล์จากภายนอกควรตรวจแพตช์ เพราะบางช่องโหว่อาจทำให้บริการค้าง ข้อมูลรั่ว หรือรันโค้ดได้
ใครต้องทำอะไร
- ผู้ดูแลระบบ: ถ้าบริการใช้ Pillow ประมวลผลไฟล์จากภายนอกให้เร่งอัปเดตแพ็กเกจตามรุ่น Ubuntu ที่ดูแล
- นักพัฒนา: ตรวจว่าแอปโหลด Pillow จากที่ใดและเร่งนำแพตช์ไปใช้กับสภาพแวดล้อมที่รับไฟล์จากผู้ใช้
เกิดอะไรขึ้น
ตัวอย่างเช่น CVE-2026-112390 ทำให้การนับเฟรมภาพ MIC วนลูปไม่จบ ส่วน CVE-2026-112399 ทำให้การเปิด APNG อาจใช้หน่วยความจำจนหมด ทั้งคู่กระทบ Ubuntu 26.10, 26.04 LTS, 24.04 LTS และ 22.04 LTS ตาม USN
CVE-2026-112393 อาจทำให้รันโค้ดเมื่อบันทึก TIFF แบบบีบอัดลงหน่วยความจำ เช่น BytesIO ส่วน CVE-2026-112398 อยู่ในตัวถอดรหัส FlashPix และต้องมี olefile ติดตั้งอยู่ อีกช่องคือ CVE-2026-112897 ซึ่งอาจนำข้อมูลค้างในหน่วยความจำออกมาเป็นพิกเซล TIFF แล้วทำให้ข้อมูลรั่ว
CVE-2026-112900 ทำให้แทรกอาร์กิวเมนต์ Ghostscript ผ่านชื่อไฟล์ EPS ได้ การสั่งรันคำสั่งต้องควบคุมทั้งชื่อไฟล์ที่ขึ้นต้นด้วย @ และไฟล์ข้อความที่เก็บอาร์กิวเมนต์ด้วย
ประกาศครอบคลุม 39 CVE โดยแต่ละช่องกระทบรุ่นต่างกัน:
- CVE-2026-112390, CVE-2026-112391, CVE-2026-112392, CVE-2026-112393, CVE-2026-112394, CVE-2026-112395, CVE-2026-112396, CVE-2026-112397, CVE-2026-112398, CVE-2026-112399, CVE-2026-112400, CVE-2026-112401, CVE-2026-112402, CVE-2026-112403, CVE-2026-112404, CVE-2026-112405, CVE-2026-112406
- CVE-2026-112891, CVE-2026-112892, CVE-2026-112893, CVE-2026-112894, CVE-2026-112895, CVE-2026-112896, CVE-2026-112897, CVE-2026-112898, CVE-2026-112900, CVE-2026-112901, CVE-2026-114501
- CVE-2026-42308, CVE-2026-42310, CVE-2026-96636, CVE-2026-96637, CVE-2026-96638, CVE-2026-96639, CVE-2026-96640, CVE-2026-96641, CVE-2026-96642, CVE-2026-96643, CVE-2026-96778
USN ไม่ระบุคะแนน CVSS และทั้ง 39 รายการยังไม่อยู่ใน KEV ฉบับ 10 พฤศจิกายน 2026
ใครโดนและรุ่นที่แก้
ตารางนี้เป็นรุ่นที่แก้ตาม USN-9064-1 สำหรับแพ็กเกจจากคลัง Ubuntu
| Ubuntu | แพ็กเกจ | รุ่นที่แก้ |
|---|---|---|
| 26.10 | python3-pil | 12.3.0-1ubuntu2 |
| 26.04 LTS | python3-pil | 12.1.1-2ubuntu1.5 |
| 24.04 LTS | python3-pil | 10.2.0-1ubuntu1.5 |
| 22.04 LTS | python3-pil | 9.0.1-1ubuntu0.7 |
| 20.04 LTS | python3-pil | 7.0.0-4ubuntu0.9+esm2 |
| 18.04 LTS | python-pil, python3-pil | 5.1.0-1ubuntu0.8+esm3 |
| 16.04 LTS | python-pil, python3-pil | 3.1.2-0ubuntu1.6+esm4 |
| 14.04 LTS | python-imaging, python-pil, python3-imaging, python3-pil | 2.3.0-1ubuntu3.4+esm6 |
สถานะยังไม่ตรงกัน: USN ระบุว่ามีแพตช์แล้ว แต่หน้า CVE-2026-112390, CVE-2026-112393, CVE-2026-112398, CVE-2026-112897 และ CVE-2026-112900 ยังแสดง Vulnerable ในรุ่นที่เกี่ยวข้อง ตารางนี้ใช้เลขแพตช์จาก USN
Ubuntu 20.04 LTS และ 18.04 LTS รับแพตช์ผ่าน Ubuntu Pro ส่วน 16.04 LTS และ 14.04 LTS ต้องมี Legacy Support add-on เพิ่มด้วย
ต้องทำอะไร
Ubuntu แนะนำให้อัปเดตระบบตามปกติ ถ้าติดตั้ง python3-pil จากคลัง Ubuntu ให้ใช้คำสั่งนี้ แล้วเทียบรุ่นกับตาราง
sudo apt update
sudo apt install --only-upgrade python3-pil
dpkg-query -W python3-pil
ถ้าติดตั้งแพ็กเกจชื่ออื่นในตาราง ให้อัปเดตชื่อนั้นด้วย ส่วนแอปที่ติดตั้งผ่าน pip หรือ virtual environment ต้องอัปเดตสำเนาของแอปแยกจาก apt
หลังอัปเดต แนะนำให้เริ่มโปรเซสที่ใช้ Pillow ใหม่ แล้วทดสอบงานประมวลผลภาพของแอป
ส่วนตัวผมให้เร่งแพตช์ระบบที่รับไฟล์จากภายนอกเป็นลำดับแรก ที่มา: USN-9064-1: Pillow vulnerabilities เดี๋ยวกลับมาแก้เพิ่มให้ภายหลังครับ
Want us to set this up?
Get help with server setup, configuration, migration, or troubleshooting. Save time for the work that matters.
Hit something like this? Stuck somewhere?
Come trade notes on the LinuxThai board



Comments 0
No comments yet — be the first