WEBA

עדכון Next.js סוגר שבע פרצות אבל משאיר חור קריטי פתוח

גרסאות 16.3.8 ו-15.5.27 פותרות הרעלת מטמון וריגול בסביבת הפיתוח, אבל עיכוב בתלות חיצונית דחה את הפאטץ' החשוב מכולם.

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

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

תיקון חלקי אבל חובה

למרות הדחייה של הרכיב הקריטי, התיקונים שיצאו מחייבים שדרוג מיידי עבור שתי גרסאות נתמכות בלבד: Next.js 16.3.8 בערוץ ה-LTS הפעיל, וגרסה 15.5.27 בערוץ התחזוקה. Vercel מבהירה את המצב שנכפה עליה.

תיקון עבור פגיעות קריטית אחת ופגיעות אחת בחומרה גבוהה נדחה עקב עיכובים בתלות חיצונית.הודעת האבטחה של Next.js

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

חצי הגנה עדיפה על אפס הגנה.

הסכנה באירוח עצמי

החולשה הבולטת ביותר ברמת חומרה גבוהה שכן נסגרה היא CVE-2026-94483, פגיעות SSRF במנגנון אופטימיזציית התמונות. אם הגדרתם כתובות חיצוניות מורשות תחת remotePatterns, תוקף ששולט בכתובת מורשת יכול היה לנצל את מנוע עיבוד התמונות כדי לשלוח בקשות לטווחי IP פרטיים בתוך הרשת הפנימית שלכם.

צוותי פיתוח ישראליים רבים בונים מוצרי SaaS ומריצים את Next.js באירוח עצמי על גבי שרתי AWS או קונטיינרים של Docker. עבורם, שתי פגיעויות הרעלת המטמון שנחשפו הן כאב ראש ממשי. לפי הודעת האבטחה GHSA-4jqv-mc3x-m676, באפליקציות Pages Router באירוח עצמי עם SSG או ISR, תוקף יכול להחליף מטמון של עמוד בתוכן מנתיב אחר. המערכת תגיש מידע שגוי לכל הגולשים עד לרענון הבא. פרויקטים שמתארחים ישירות על הפלטפורמה של Vercel מוגנים מבעיה זו, אך התקנות עצמאיות נותרו חשופות לגמרי עד השדרוג.

פגיעות מטמון נוספת, CVE-2026-94484, פוגעת בכל אפליקציה שמשלבת נתיב catch-all ברמת השורש יחד עם מנגנוני SSG או ISR. כאן, בקשה אחת בלבד ללא אימות מספיקה כדי להרעיל את המטמון המשותף ולהוביל להחלפת תוכן בין משתמשים שונים או למניעת שירות מתמשכת. בנוסף, באפליקציות App Router שנבנו עם webpack, פגיעות GHSA-f87g-xv8r-7p7x עוקפת את הגדרת dynamicParams בתמונות מטא-דאטה ומאפשרת לתוקף לבקש נתיבים שהוחרגו במפורש.

הדפדפן מרגל אחרי הפיתוח

סכנה נוספת מסתתרת דווקא בתחנת העבודה המקומית. פגיעות CVE-2026-94486 חושפת את שרת הפיתוח המקומי, next dev, באמצעות נקודת קצה של פרוטוקול Model Context Protocol שאינה דורשת אימות ואינה בודקת מהיכן הגיעה הבקשה. אתר זדוני שפתחתם בלשונית מקבילה יכול לתשאל את השרת המקומי ולשאוב את נתיב הפרויקט, קטעי קוד משגיאות, נתיבים ויומנים. סביבות פרודקשן אינן מריצות את נקודת הקצה הזו, אך מחשב הפיתוח שלכם חשוף לחלוטין.

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

השוואת שבע פגיעויות האבטחה שפורסמו בעדכון Next.js
מזהה פגיעותרמת חומרהסביבה מושפעתתנאי מקדים לפגיעות
CVE-2026-94483גבוההסביבות שבהן כתובת ברשימה המותרת נמצאת בשליטת תוקףהגדרת כתובות ב-images.remotePatterns
CVE-2026-94543בינוניתאירוח עצמי בלבדשימוש ב-Pages Router עם SSG או ISR
CVE-2026-94484בינוניתאירוח עצמי וענןנתיב catch-all ברמת השורש עם SSG או ISR
CVE-2026-94485בינוניתסביבות App Routerפרויקט שנבנה באמצעות webpack ולא Turbopack
GHSA-h694-7cp9-m8p3בינוניתאירוח עצמי וענןהפעלת רכיבי מטמון עם פונקציות 'use cache' מקוננות
CVE-2026-94544בינוניתאירוח עצמי וענןהפעלת 'use cache' יחד עם תצוגות מקדימות ב-Draft Mode
CVE-2026-94486נמוכהשרת פיתוח בלבד (next dev)גלישה לאתר צד שלישי בדפדפן בזמן שהשרת המקומי רץ

מה לבדוק ולעדכן

הצעד הראשון והמיידי הוא הרצת עדכון חבילות בפרויקט שלכם: הריצו npm install [email protected] אם אתם על ערוץ 16, או npm install [email protected] אם אתם מחזיקים פרויקטים בגרסה 15. הקפידו על מספרי הגרסאות המדויקים הללו שכוללים את הפאטצ'ים.

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

מה לעשות עכשיושדרגו מיד לגרסאות 16.3.8 או 15.5.27, צמצמו את רשימת remotePatterns, ועקבו אחרי שחרור הפאטץ' לפגיעות הקריטית שנדחתה.

מקורות

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

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

האם פרויקט שרץ על גבי Vercel חסין מכל שבע הפגיעויות?

לא. פרויקט על גבי Vercel מוגן מפני פגיעת הרעלת המטמון של Pages Router (מזהה CVE-2026-94543) וסביבת הפרודקשן שלו אינה מריצה את שרת הפיתוח (CVE-2026-94486), אך הוא עדיין חשוף לפגיעות ה-SSRF בתמונות, להרעלת מטמון בנתיבי catch-all ולדליפות ב-use cache.

האם שדרוג לגרסה ישנה יותר מספיק כדי לקבל את תיקוני האבטחה?

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

מה קרה לפגיעות ברמת החומרה הקריטית שעליה הוכרז בתחילה?

התיקון לפגיעה הקריטית ופגיעה נוספת בחומרה גבוהה נדחו עקב עיכוב בעדכון של תלות חיצונית (upstream dependency), וטרם שוחררו בעדכון הנוכחי.

איך משפיעה פגיעות שרת הפיתוח (MCP) אם הקוד לא עלה לפרודקשן?

הפגיעה CVE-2026-94486 משפיעה רק כאשר מריצים את הפקודה next dev במחשב המקומי. אם מפתח גולש לאתר זדוני בזמן שהשרת המקומי רץ, האתר יכול לקרוא קבצי קוד, יומני שגיאות ונתיבים ישירות מתוך המחשב שלו.