WEBA

פייתון 3.10 סיימה את חייה הרשמיים בסבב עדכונים

גרסת פייתון 3.10.22 היא האחרונה בהחלט ולא תקבל עוד טלאי אבטחה, בזמן שתיקונים דחופים לטיפול בקבצים וברשת יחייבו היערכות מחדש של צוותי הפיתוח והתשתיות.

635 מילים30 עובדות אומתו

שרתים שממשיכים לעבוד בשקט ברקע הם בדרך כלל הדבר שהכי קל לשכוח ממנו, עד שמגיע תאריך תפוגה רשמי. היום, 1 באוקטובר 2026, צוות הפיתוח של שפת התכנות שחרר חמישה עדכונים מתואמים במקביל: 3.10.22, 3.11.17, 3.12.15, 3.13.16 וכן 3.14.8. מאחורי הרצף הזה עומדת הודעה דרמטית אחת: ענף 3.10 הגיע רשמית לסוף דרכו ולא יראה יותר שום טלאי מפתחים. מי שחשב לדחות את שדרוג המערכות עוד קצת, קיבל עכשיו סיבה טובה מאוד לחשב מסלול מחדש.

השחרור המתואם, שעליו הוכרז בבלוג הרשמי של Python, מביא עמו חבילת תיקוני אבטחה רחבה שמשותפת לכל הענפים הפעילים. אלא שלצד התיקונים, תמונת התמיכה של הגרסאות השונות נראית כעת מפוצלת מאוד. חלוקת המשאבים בקהילת הקוד הפתוח הובילה להחלטות שמשפיעות ישירות על האופן שבו תעדכנו שרתי ייצור, פייפליינים ומחשבי מפתחים מקומיים.

סוף המסלול של 3.10

חמש שנות חיים מלאות הגיעו לקצן עם יציאתה של Python 3.10.22. המשמעות פשוטה וחד משמעית: מעתה והלאה, הפרויקט לא יפיק שום עדכון נוסף לענף הזה, כולל תיקוני אבטחה קריטיים שיתגלו בעתיד. מכולות Docker או סביבות ענן שעדיין מתבססות על הגרסה הזאת ימשיכו לרוץ, אבל כל חולשת יום אפס שתצוץ מחר תישאר פתוחה לרווחה.

גרסת פייתון 3.10.22 היא השחרור האחרון של פייתון 3.10. לאחר חמש שנים, הסדרה הגיעה לסוף חייה ולא תקבל עוד עדכוני אבטחה. אם אתם עדיין משתמשים בפייתון 3.10, אנא תכננו את השדרוג שלכם לגרסה נתמכת.צוות המפתחים בהודעת השחרור הרשמית

לפי הודעת השחרור, פייתון 3.10 סיימה את חייה הרשמיים ולא תקבל עוד תיקוני אבטחה כלל. מנהל השחרור של הגרסה כינה את המהלך כדעיכה הסופית של הענף, כשהוא חותם תקופה ארוכה של עבודה מאומצת על אלפי חבילות תוכנה. המערכות שלכם לא יישברו מחר בבוקר, אבל הישארות עליה בפרודקשן היא מעכשיו סיכון שאי אפשר להצדיק מול ביקורת אבטחה.

השעון כבר מתקתק.

רק קוד מקור, בלי קבצי התקנה

העדכונים עבור 3.10.22, Python 3.11.17 וגם Python 3.12.15 שוחררו כקוד מקור בלבד (source-only). אין קובצי התקנה רשמיים ומוכנים ל-Windows או ל-macOS עבור הגרסאות הללו. בענף 3.10 הגרסה האחרונה שכללה קבצים בינאריים הייתה 3.10.11, ובענף 3.11 זו הייתה 3.11.9. אם אתם מנהלים עמדות פיתוח מקומיות במערכות ההפעלה האלה, לא תוכלו להוריד מתקין בלחיצת כפתור.

ההחלטה הזאת דורשת מצוותים להסתמך על קומפילציה עצמית של קוד המקור, או לחכות לחבילות צד שלישי ומנהלי חבילות חיצוניים. מנגד, ענפי 3.13 ו-3.14 זוכים למתקינים בינאריים מלאים. המשמעות היא פער תפעולי: שדרוג של גרסת תחזוקה ישנה דורש לפעמים יותר עבודה סיזיפית מאשר מעבר לגרסה מודרנית ונתמכת. המפתחים מקבלים תזכורת חדה לכך שעולם הקוד הפתוח מעדיף להשקיע את משאבי הבנייה שלו בעתיד ולא בעבר.

החולשות המשותפות שחייבו עדכון

סבב השחרורים הנוכחי לא נולד במקרה, אלא נועד לסתום שורה של פרצות אבטחה שהתגלו בספריות הליבה של השפה. בין היתר, נסגרה פרצת CVE-2026-82049 במודול tarfile, שבה ארכיון זדוני המכיל קישור קשה לקישור סימבולי עלול היה לחשוף קבצים מחוץ לתיקיית היעד ואף לשנות את ההרשאות שלהם. תיקון נוסף באותו מודול מנע יצירת תיקיות מחוץ ליעד בנתיבים מניפולטיביים.

במודול zipfile נסגרה חולשת CVE-2026-15310, שהגבילה את כמות הזיכרון המוקצה בעת חילוץ דחיסות מסוג bzip2 ו-LZMA, ובכך נמנעה מתקפת מניעת שירות באמצעות צריכת זיכרון חריגה מקבצים מכווצים קטנים. מודול urllib.request זכה לתיקון שהגביל אימות משתמשים לפי סכמת הפרוטוקול, כדי למנוע זליגת פרטי זיהוי של HTTPS לכתובות HTTP תואמות. שינויים נוספים נרשמו בספריית libexpat שעודכנה לגרסה 2.8.5, ובוולידציה קפדנית יותר ב-SSL וב-asyncio.

מפת הדרכים לשדרוג התשתיות

לפי הודעת השחרור, פייתון 3.11 תמשיך לקבל עדכוני אבטחה בלבד עד אוקטובר 2027 כמתואר במסמך PEP 664, ותמיכת האבטחה בגרסה 3.12 תימשך עד אוקטובר 2028. במקביל, גרסת 3.13.16 חותמת את שלב התחזוקה הרגילה של הענף שלה, ומעתה תעבור גם היא למצב עדכוני אבטחה בלבד ללא תיקוני באגים שוטפים. מי שמחפש יציבות לטווח ארוך יכול לבחון שדרוג לענף 3.13, או לדלג היישר אל Python 3.14.8 שזוכה לתמיכה מלאה.

עבור משתמשי Windows ו-macOS, גרסאות 3.13.16 ו-3.14.8 כוללות שדרוג חשוב של ספריית OpenSSL לגרסה 3.5.9, לאחר שגרסה 3.0 הגיעה לסוף התמיכה הציבורית שלה בספטמבר 2026. לפני שאתם מקפיצים את תגיות הגרסה ב-Dockerfile, בדקו היטב את התלויות החיצוניות שלכם ואת השינויים שחלו במודולים כמו asyncio ו-SSL. לא הייתי רץ לשדרג שרתי פרודקשן באמצע יום עבודה עמוס בלי להריץ בדיקות רגרסיה מקיפות בסביבת Staging.

השוואת סטטוס תמיכה ואופן הפצה בין גרסאות פייתון
גרסהסטטוס תחזוקהזמינות קבצי התקנה בינארייםסיום תמיכת אבטחה צפוי
3.10.22סוף חיים (EOL)ללא (קוד מקור בלבד)1 באוקטובר 2026
3.11.17אבטחה בלבדללא (קוד מקור בלבד)אוקטובר 2027
3.12.15אבטחה בלבדללא (קוד מקור בלבד)אוקטובר 2028
3.13.16מעבר לאבטחה בלבדזמינים רשמיתלא פורסם
3.14.8תחזוקה פעילהזמינים רשמיתלא פורסם

מה שלא ידוע בהודעת השחרור הוא אילו ספקי הפצות לינוקס ארגוניות יציעו תיקוני Backporting משלהם מעבר לתאריך היעד הקהילתי. מי שמנהל סביבות מבודדות לחלוטין יכול אולי לנשום עוד רגע, אבל עבור כל השאר, העבודה רק מתחילה.

הגיע הזמן לשדרג.

מה לעשות עכשיומפו את כל מכולות ה-Docker ושרתי הייצור שמריצים פייתון 3.10, ותאמו תוכנית עבודה מסודרת לשדרוג סביבות הריצה לענפי 3.13 או 3.14.

מקורות

הידיעה נכתבה מהמקורות שלמעלה בתאריך הפרסום, וכל טענה בה נבדקה מולם. מצאתם טעות? כתבו.

מה שואלים על זה

מה המשמעות המעשית של הגעת פייתון 3.10 ל-EOL עבור שרתים פעילים?

המשמעות היא שצוות הפיתוח הרשמי של Python לא ישחרר יותר אף עדכון לענף 3.10, כולל טלאי אבטחה לחולשות קריטיות שיתגלו בעתיד. שרתים שמריצים גרסה זו ימשיכו לתפקד, אך יישארו חשופים לכל איום אבטחתי חדש.

מדוע אין קובצי התקנה ל-Windows או ל-macOS עבור פייתון 3.11 ו-3.12?

כחלק ממדיניות התחזוקה של פייתון, כאשר גרסה עוברת לשלב עדכוני אבטחה בלבד, היא מופצת כקוד מקור בלבד. הפצת קובצי התקנה בינאריים רשמיים למערכות אלה נפסקה בגרסאות 3.10.11 ו-3.11.9 בהתאמה.

האם ספריות הקוד שלי ב-Docker יפסיקו לעבוד מעכשיו?

הקוד והמכולות הקיימים ימשיכו לעבוד כרגיל ולא ייעצרו פתאום. עם זאת, לא יסופקו יותר עדכוני תשתית ואבטחה רשמיים לתמונות בסיס המבוססות על 3.10, מה שעלול להוות סיכון תפעולי ורגולטורי לאורך זמן.

מה השתנה במודול tarfile וכיצד הוא השפיע על סבב התיקונים הנוכחי?

תוקנה פרצת אבטחה (CVE-2026-82049) שבה ארכיון המכיל קישורים קשים לקישורים סימבוליים אפשר שינוי הרשאות וחשיפת קבצים מחוץ לנתיב היעד, לצד תיקון שמנע יצירת ספריות מחוץ ליעד בנתיבים מתוחכמים שיוצאים וחוזרים לתיקייה.