עדכון אבטחה קריטי ב-Django: חובה לעדכן גרסה
אמ;לק
התגלתה פרצת אבטחה בפריימוורק Django שמאפשרת לתוקף לגרום לקריסת זיכרון בשרת (Memory Exhaustion) באמצעות העלאת קבצים זדונית. אם האתר שלכם מבוסס Django, עליכם לעדכן לגרסאות האחרונות באופן מיידי.
סיכום בעברית: מערכת VibeSec · מדיניות המקורות
נוסף ל-VibeSec:
כותרת מקורית: Django security releases issued: 6.1.3, 6.0.10, and 5.2.19

התוכן המלא בעברית
תרגום אוטומטי מהמקור; מונחים טכניים נשארו באנגלית. לנוסח המחייב — הכתבה המקורית.
בהתאם למדיניות שחרור האבטחה שלנו, צוות Django מוציא מהדורות עבור Django 6.1.3, Django 6.0.10 ו-Django 5.2.19. מהדורות אלו מטפלות בבעיות האבטחה המפורטות להלן. אנו מעודדים את כל המשתמשים של Django לשדרג בהקדם האפשרי.
CVE-2026-108147: מיצוי זיכרון פוטנציאלי ב-MultiPartParser באמצעות העלאת קובץ base64-encoded
בעת שימוש ב-django.http.multipartparser.MultiPartParser , העלאות מרובי חלקים עם Content-Transfer-Encoding: base64 יכולות להיות מאוחסנות במלואן בזיכרון, ללא קשר ל-FILE_UPLOAD_MAX_MEMORY_SIZE , לפני שהן מועברות למטפלי העלאה, מה שעלול לצרוך זיכרון מוגזם.
לבעיה זו יש חומרה "נמוכה" לפי ה-Django Security Policy .
CVE-2026-111211: הזרקת יומן רישום פוטנציאלית באמצעות ערכי טופס גיאומטריה ללא יציאה
django.contrib.gis.forms.GeometryField והווידג'טים שלו רשמו ערכים לא חוקיים שנשלחו ישירות, מה שמאפשר לכתוב תווי בקרה (למשל, שורות חדשות או ANSI רצפי בריחה) ללא escape לתוך יומנים. זה יכול לאפשר הזרקת יומנים או זיוף, ולאפשר לתוקפים לתפעל את המראה או המבנה של יומן, במיוחד ביומנים המעובדים על ידי מערכות חיצוניות או נצפים במסופים.
לבעיה זו יש חומרה "נמוכה" לפי ה-Django Security Policy .
CVE-2026-111362: זיוף בקשות בצד השרת באמצעות crs חבר של GeoJSON גיאומטריות
גרסאות קודמות של מפרט GeoJSON אפשרו לציין מערכת התייחסות לקואורדינטות (CRS) על ידי URL. מכיוון שGDAL עדיין פותר את הURLs אלה, כל נתיב אימות, שמירה או שאילתה שבו גיאומטריה מופעלת מקלט משתמש אפשרו לתוקף לשלוח CRS זדוני שיבצע בקשת רשת כמשתמש בתהליך Django, או יקרא קובץ, או שניהם.
חיפושים נגד שדות מרחביים, שדה הטופס GeometryField ו-GEOSGeometry דוחים כעת GeoJSON גיאומטריות עם CRS הפניות למשאבים חיצוניים. כלי השירות DataSource and LayerMapping לטעינת נתונים מהימנים ממשיכים לקבל ערכים אלה.
לבעיה זו יש חומרה "בינונית" לפי ה-Django Security Policy .
תודה ל-Submersion Security Research Team על הדיווח.
CVE-2026-113593: חשיפה פוטנציאלית של נתונים פרטיים באמצעות כותרות ריקות וחסרות של Vary
UpdateCacheMiddleware ו-cache_page() יצרו את אותו מפתח מטמון עבור בקשה שהשמיטה כותרת הרשומה בכותרת Vary של התגובה ובקשה ששלחה את הכותרת הזו עם ערך ריק. כתוצאה מכך, תגובה שנשמרה במטמון עבור אחת מהבקשות הללו יכולה להיות מוגשת לאחרת, מה שעלול להוביל לחשיפת נתונים פרטיים.
מפתחות מטמון מבחינים כעת בין ערכי כותרת חסרים וריקים, כנדרש על ידי RFC 9111#section-4.1 .
תגובות שנשמרו בעבר במטמון עבור בקשות שהשמיטו כותרת הרשומה ב-Vary לא יותאמו עוד, ויישמרו שוב במטמון בבקשה הבאה.
לבעיה זו יש חומרה "נמוכה" בהתאם למדיניות האבטחה Django.
תודה ל-Andrew Gonzalez על הדיווח.
CVE-2026-113733: חשיפת גיבוב של סיסמה למשתמשי מנהל "הצג בלבד" עם מודלים מותאמים אישית של משתמשים
למשתמשי מנהל מערכת עם הרשאת תצוגה (אך לא לשנות) למודל משתמש הוצג כל ה-hash של הסיסמה כאשר המודל לא היה AUTH_USER_MODEL , או כאשר AUTH_USER_MODEL ירש את שדה הסיסמה שלו ממודל אב קונקרטי באמצעות ירושה מרובה טבלאות.
לבעיה זו יש חומרה "נמוכה" לפי ה-Django Security Policy .
CVE-2026-114582: זיוף בקשות בצד השרת באמצעות קלט מחרוזת SpatialReference
SpatialReference העביר קלט מחרוזת ל-GDAL, אשר כברירת מחדל פותר את URLs וקורא קבצים. התנהגות זו לא תועדה על ידי Django. שיטות אחרות שהושפעו כללו את GEOSGeometry.transform() , OGRGeometry.transform(), GDALRaster.transform() , ה-srs seter של OGRGeometry ו-srs and srid seters של GDALRaster . URL או נתיב קובץ המגיע לכל אחד מאלה יוציא בקשה יוצאת או יקרא קובץ כמשתמש בתהליך Django. ניתן לשלב את וקטורי ההתקפה כדי לחשוף תוכן קובץ מקומי על ידי צפייה בבקשות יוצאות.
SpatialReference משבית כעת גישה לרשת ולקבצים בעת ניתוח קלט מחרוזת ב-GDAL 3.9 ואילך. כתוצאה מכך, נתיבי קבצים ו-URLs אינם מתקבלים עוד כקלט SpatialReference. הפניות למילון המשתמשות בקידומת DICT:, לרבות אלה עם הקידומת ESRI:: , נדחות בכל הגרסאות GDAL.
הגנה מלאה דורשת GDAL 3.9 ואילך. מספרים שלמים SRIDs נחפשים ישירות במסד הנתונים EPSG, אז העדיפו אותם כאשר הקלט אינו מהימן. לחלופין, אם יש להשתמש במחרוזות בגרסאות GDAL נמוכות יותר, השווה לרשימת אישורים. בדיקת המערכת החדשה gis.W001 מזהירה כאשר הגרסה המותקנת של GDAL אינה לפחות 3.9.
לבעיה זו יש חומרה "נמוכה" בהתאם למדיניות האבטחה Django.
גרסאות נתמכות מושפעות
הַחְלָטָה
תיקונים לפתרון הבעיה הוחלו על הסניפים הראשיים, 6.1, 6.0 ו-5.2 של Django. ניתן להשיג את התיקונים מהשינויים הבאים.
CVE-2026-108147: מיצוי זיכרון פוטנציאלי ב-MultiPartParser באמצעות העלאת קובץ base64-encoded
CVE-2026-111211: הזרקת יומן רישום פוטנציאלית באמצעות ערכי טופס גיאומטריה ללא יציאה
CVE-2026-111362: זיוף בקשות בצד השרת באמצעות crs חבר של GeoJSON גיאומטריות
CVE-2026-113593: חשיפה פוטנציאלית של נתונים פרטיים באמצעות כותרות ריקות וחסרות של Vary
CVE-2026-113733: חשיפת גיבוב של סיסמה למשתמשי מנהל "הצג בלבד" עם מודלים מותאמים אישית של משתמשים
CVE-2026-114582: זיוף בקשות בצד השרת באמצעות קלט מחרוזת SpatialReference
המהדורות הבאות הוצאו
מקש PGP ID המשמש לגרסה זו הוא Jacob Walls: 131403F4D16D8DC7
הערות כלליות לגבי דיווח אבטחה
כמו תמיד, אנו מבקשים שבעיות אבטחה פוטנציאליות ידווחו באמצעות דוא"ל פרטי ל-security@djangoproject.com , ולא באמצעות המופע Trac של Django, ולא דרך Django Forum. אנא עיין במדיניות האבטחה שלנו למידע נוסף.
קריאה וכלים קשורים
אבטחת Python- Bandit — סריקה סטטית לקוד Python לאיתור בעיות אבטחה נפוצות.
- Bearer — SAST עם התמקדות בפרטיות ו-PII
- CodeQL — מנוע ניתוח סטטי של GitHub
- הכירו את HTTP2Shell: סיכון אבטחה בטכנולוגיית הדחיסה Brotli
- שדרוג קבוצת חבילות pip כולל עדכון certifi
- לא צריך להיות גאון במתמטיקה כדי ללמוד פייתון – צריך לדעת איך לחשוב