מתחזקי Pillow, ספריית עיבוד התמונות הנפוצה ביותר ב-Python, פרסמו ב-16 באוקטובר את גרסה 13.0.0 שמתקנת כמה פגיעויות. חלקן עלולות להוביל להרצת קוד, ולכן הן רלוונטיות בעיקר לשירותים שמקבלים תמונות ממשתמשים.
מה קרה
הגרסאות 2.6.0 עד 12.3.0 מושפעות. בטיפול בקבצי EPS הספרייה מעבירה ל-Ghostscript שם קובץ בלי לאמת אותו (CVE-2026-112900), וכך שם קובץ מתוכנן עלול להריץ פקודות מערכת. הפגם דורש שהתוקף ישלוט בשם הקובץ ושהתוכנה gs תהיה מותקנת, ולכן המתחזקים דירגו אותו כבינוני.
לצדו תוקנו גלישת זיכרון בפענוח JPEG בקבצי FPX (כשהחבילה olefile מותקנת), גלישת ערימה ביצירת תמונה ממוזערת מ-JPEG ללא אובדן (CVE-2026-112403) וגלישת חוצץ בשמירת TIFF דחוס לזיכרון (CVE-2026-112393). לפי הדיווח, עבור הפגם האחרון קיימת הוכחת היתכנות פומבית, והרצת קוד דורשת פגם נוסף שמדליף כתובות זיכרון. לא דווח על ניצול בפועל של אף אחת מהן. ציוני CVSS של 9.2 הוענקו לשלוש מהן, אך הדיווח מציין שכל אחת תלויה בתנאים שהציון אינו משקף.
נקודות לשים לב
- עדכן ל-Pillow 13.0.0 ומעלה, ובנה מחדש קונטיינרים, חבילות ותמונות בסיס שכוללים עותק ישן. הגרסה מוותרת על Python 3.10, אז ייתכן שתצטרך לשדרג גם אותו.
- בדוק אם
Ghostscriptמותקן על שרתים שמעבדים קבצים לא מהימנים. אם אין בו צורך, הסר אותו, ואל תעביר שם קובץ שנשלט על ידי משתמש אלImage.open()עבור EPS. - אם אי אפשר לעדכן מיד: הימנע מ-
draft()ו-thumbnail()על JPEG לא מהימן (או קרא ל-load()קודם, או העברreducing_gap=None), והגבל את סוגי הקבצים שהאפליקציה מקבלת. - Pillow מזהה פורמט לפי תוכן הקובץ ולא לפי הסיומת, כך שהעלאה בשם
.jpgעלולה להיות פורמט אחר. לכן סינון סיומות אינו הגנה.
מקורות: The Hacker News

₿ אהבת את הפוסט?
אפשר לשלוח לי ביטקוין ישירות לכתובת שלי. סרקו את הקוד, או העתיקו את הכתובת:
bc1qsn043qmlv4ejxydeknkfm9u6e93e6tegmq9x85
שימו לב: העברה on-chain כרוכה בעמלת רשת שאינה תלויה בסכום, ולכן סכומים קטנים מאוד אינם כדאיים.