WEBA

עדכון חירום ב-Next.js סוגר פרצות RCE ומחייב שדרוג

שלוש חולשות אבטחה חמורות התגלו ב-Next.js, כולל הרצת קוד מרחוק ללא מעקף ב-use cache, ומחייבות מפתחים לעדכן גרסה או לטפל בדחיפות בספריית sharp.

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

עוד שבוע, עוד עדכון תלויות שמאיים לפוצץ את הספרינט. אתמול, ב-14 באוקטובר 2026, שחררה Next.js עדכון אבטחה דחוף מחוץ לסבב הרגיל עבור גרסאות ה-LTS הנתמכות שלה. הודעת האבטחה הרשמית חושפת שלוש פגיעות שונות שמקורן בתלויות צד שלישי, שתיים מהן מוגדרות בחומרה קריטית ומאפשרות הרצת קוד מרחוק ללא צורך באימות.

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

הספרינט יחכה.

אין מעקף ל-use cache

החולשה המטרידה מכולן רשומה תחת GHSA-673q-mjm6-r5xr, והיא נובעת מפגיעות upstream מקבילה בספריית הבסיס של React, שמסומנת כ-GHSA-xqc2-xf4c-x3h3. הבעיה מתרחשת ביישומי App Router המשתמשים ב-Cache Components, כאשר פונקציה עם ההנחיה use cache מחזירה מספר מערכים מסוג typed arrays. במצב כזה, תוקף חיצוני יכול להשיג הרצת קוד מרחוק מלאה בשרת שלכם ללא שום צורך בהזדהות מוקדמת או הרשאות מיוחדות.

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

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

סכנת ה-SVG על לינוקס

הפגיעות הקריטית השנייה, שסומנה כמזהה CVE-2026-96889 ובמאגר האבטחה של גיטהאב בתור GHSA-2464-fhr4-w9xw, נוגעת ל-Image Optimization API של הפריימוורק. מדובר בחולשת ניהול זיכרון פנימית בספרייה המשמשת לעיבוד תמונות, שפותחת פתח להרצת קוד מרחוק בעת טיפול והמרה של קובצי SVG. הפגיעה הזו תלויה באופן הדוק בסביבת הריצה של השרת: היא משפיעה אך ורק כאשר Next.js רצה על מערכות לינוקס המבוססות על ספריית glibc.

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

שיתוק שרתים ב-Server Actions

החולשה השלישית, GHSA-p3m5-59mp-jv5r, מדורגת ברמת חומרה גבוהה ומתמקדת במניעת שירות. גם היא נשענת על בעיית upstream ברמת React שנרשמה תחת GHSA-h3gv-c5rc-p453. בקשות רשת שנבנו בצורה מותאמת ונשלחות אל אפליקציית App Router שמכילה לפחות Server Action אחד, גורמות לניצול מעבד מופרז. צריכת המשאבים הזו חוסמת לחלוטין עיבוד של כל בקשה נוספת באותו תהליך ומביאה לשיתוק מוחלט של השרת.

למי שעדיין מחזיק קוד ישן ב-Pages Router מגיעה אנחת רווחה קטנה. הארכיטקטורה הישנה אינה חשופה לפגיעות ה-DoS ואינה תומכת כלל במנגנון use cache של App Router. אם כל הפרויקט שלכם מבוסס על Pages Router ואינו מעבד קובצי SVG על שרתי לינוקס, המערכת שלכם אינה פגיעה לחולשות הללו.

מי שמריץ קוד ישן הרוויח הפעם.

השוואת שלוש פגיעות האבטחה שפורסמו בעדכון האוקטובר של Next.js
מזהה פגיעותחומרהרכיב מושפעתנאי ניצולפתרון או מעקף
GHSA-673q-mjm6-r5xrקריטית (Critical)App Router (use cache)פונקציית use cache שמחזירה מספר typed arraysשדרוג חובה ל-16.4.1 או 15.5.28 (אין מעקף)
CVE-2026-96889קריטית (Critical)Image Optimization APIעיבוד SVG בלינוקס מבוסס glibc דרך sharpשדרוג Next.js או עדכון ידני של sharp ל-0.35.5 ומעלה
GHSA-p3m5-59mp-jv5rגבוהה (High)App Router (Server Actions)קיום Server Action אחד לפחות ביישוםשדרוג גרסת Next.js; Pages Router אינו מושפע

צעדי הפעולה לפרודקשן

סדר הפעולות בטרמינל ברור מאוד ואינו דורש ניחושים. אם אתם עובדים על ענף תחזוקה 15 (Maintenance LTS), הריצו npm install [email protected]. אם עברתם כבר לענף הפעיל 16 (Active LTS), הפקודה המתאימה היא npm install [email protected]. מנהלי החבילות ימשכו אוטומטית גם את הגרסה המעודכנת של sharp כחלק מתהליך ההתקנה הרגיל של התלויות, בלי שתצטרכו לטפל בה בנפרד.

אם האפליקציה שלכם יושבת על גרסה שאינה נתמכת בערוצי ה-LTS, אין כרגע שום התחייבות בדוקומנטציה לתיקון רשמי לאחור. במצב כזה, חובה לפחות לאכוף בהגדרות התלויות שלכם גרסת sharp 0.35.5 ומעלה כדי לחסום את פרצת ה-SVG המסוכנת, ולתכנן בדחיפות מעבר לאחד מערוצי ה-LTS הנתמכים. תבדקו את עץ החבילות שלכם עוד היום.

מה לעשות עכשיושדרגו מיד ל-Next.js 16.4.1 או 15.5.28, ובדקו שספריית sharp בקונטיינרים מעודכנת ל-0.35.5 ומעלה.

מקורות

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

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

מה לעשות אם האפליקציה שלנו עדיין רצה על Next.js 14?

העדכונים שוחררו רק לערוצי ה-LTS בגרסאות 16.4.1 ו-15.5.28, ולפי ההודעה אין התחייבות לתיקון רשמי לאחור עבור Next.js 14. אם אינכם יכולים לעדכן את גרסת הפריימוורק כולו כרגע, מומלץ לכפות בקובצי התלויות שימוש בספריית sharp מגרסה 0.35.5 ומעלה כדי לנטרל לפחות את פגיעות ה-RCE בעיבוד תמונות SVG.

האם פרויקט שמשתמש רק ב-Pages Router חשוף לפגיעות ה-DoS או ה-cache?

לא. פרויקטים שמבוססים אך ורק על Pages Router אינם חשופים לפגיעות ה-DoS של Server Actions ואינם כוללים את מנגנון use cache של App Router. עם זאת, אם אתם מריצים את ה-Image Optimization API לעיבוד קובצי SVG על שרתי לינוקס מבוססי glibc, אתם עדיין חשופים לפגיעות של ספריית sharp ומחויבים לעדכן אותה.

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

אפשר לבדוק את עץ התלויות המותקן באמצעות הרצת npm list sharp או בדיקת קובץ הנעילה (package-lock.json / yarn.lock). כדי לכפות גרסה בטוחה ללא שדרוג של Next.js עצמה, מגדירים את חבילת sharp בגרסה 0.35.5 ומעלה תחת שדה ה-overrides או resolutions בהגדרות הפרויקט.