NGINX Rift: באג בן 18 שנה מקריס תהליכי NGINX, והרצת קוד אפשרית רק בתנאים מסוימים
ב-13 במאי 2026 פרסמה F5 תיקון ל-CVE-2026-42945, גלישת זיכרון במודול ה-rewrite של NGINX שקיימת מ-2008. לפי depthfirst, בקשה אחת מקריסה תהליך, והרצת קוד הודגמה רק כש-ASLR כבוי.
TL;DR בקצרה
- CVE-2026-42945 היא גלישת זיכרון במודול ה-rewrite של NGINX, בגרסאות 0.6.27 עד 1.30.0.
- F5 דירגה אותה 9.2 ב-CVSS 4.0. ב-nginx.org היא מסומנת ״בינונית״.
- depthfirst הדגימה הרצת קוד רק כש-ASLR כבוי. AlmaLinux אומרת שהקרסת תהליך קלה, והרצת קוד אמינה אינה טריוויאלית.
- התיקון: NGINX 1.30.1 או 1.31.0, ו-NGINX Plus R36 P4 או R32 P6.
ב-13 במאי 2026 פרסמה F5 תיקון לחולשה בת 18 שנה ב-NGINX, ששמה NGINX Rift. לפי depthfirst, החברה שגילתה אותה, בקשת HTTP אחת מספיקה כדי להקריס תהליך עבודה של השרת. בתנאים מסוימים אפשר להגיע גם להרצת קוד. לפי BleepingComputer, NGINX מפעיל שליש מהאתרים המובילים ברשת. לכן הדיווח רלוונטי להרבה עסקים.
NGINX Rift: מה הבאג ואילו הגדרות חשופות
החולשה, CVE-2026-42945, היא גלישת זיכרון בערימה במודול ה-rewrite של NGINX. היא קיימת בקוד מאז 2008, בגרסאות 0.6.27 עד 1.30.0. F5 דירגה אותה 9.2 ב-CVSS 4.0, כלומר קריטית. AlmaLinux מציינת דירוג 8.1 ב-CVSS 3.1, וברשימת החולשות באתר nginx.org היא מסומנת כבינונית.
הבאג מופיע רק בהגדרה מסוימת. צריך כלל rewrite עם לכידה ללא שם, כמו $1, ומחרוזת החלפה שיש בה סימן שאלה. אחריו צריכה לבוא פקודת rewrite, if או set באותו הקשר. depthfirst מביאה דוגמה: rewrite ^/api/(.*)$ /internal?migrated=true; ואחריו set $original_endpoint $1;.
הסיבה היא טעות בחישוב. NGINX מחשב את אורך המאגר לפי הכתובת המקורית. אחר כך הוא מעתיק אליו את הכתובת אחרי קידוד של תווים כמו + ו-&, והתוצאה ארוכה ממה שהוקצה.
מה הסיכון ב-NGINX Rift: קריסה קלה, הרצת קוד קשה
depthfirst הדגימה הרצת קוד בלי הזדהות באמצעות בקשות HTTP, אבל רק כש-ASLR כבוי. ASLR הוא מנגנון שמקשה על תוקף לנחש כתובות בזיכרון, והוא פועל כברירת מחדל. קווין בומונט (Kevin Beaumont) ציין שהקוד נבדק רק עם ASLR כבוי. לדבריו, התוקף צריך גם להכיר את הכלל הפגיע ואת נקודת הקצה שלו.
AlmaLinux שחזרה את הבאג ומתארת את ההקרסה כקלה ואמינה. הרצת קוד אמינה כש-ASLR פועל, לדבריה, היא ״לא טריוויאלית״, והיא לא מעריכה שיופיע ניצול כללי וקל. עם זאת היא ממליצה להתייחס לתיקון כדחוף.
בפועל, NGINX מחליף תהליך עבודה שקרס. לכן בשרת רגיל הסיכון המרכזי הוא השבתה, כי תוקף יכול לשלוח בקשות שוב ושוב. הסיכון להרצת קוד גבוה בעיקר במערכות עם ASLR כבוי, למשל מכשירים מוטמעים או מכונות ניתוח, לפי BleepingComputer.
depthfirst מספרת שהמערכת האוטונומית שלה סרקה את קוד NGINX כשש שעות ב-18 באפריל. היא דיווחה על הבעיות ב-21 באפריל, וב-5 במאי שיתפה עם NGINX הדגמה של הרצת קוד.
מי עוד מושפע, ומה התיקון
התיקון זמין בגרסאות 1.30.1 ו-1.31.0 של NGINX בקוד הפתוח. לקוחות NGINX Plus צריכים את R36 P4 או את R32 P6. בהפצות לינוקס התיקון מגיע מהמפיץ. AlmaLinux למשל הפיצה חבילות מתוקנות ב-14 במאי.
F5 מונה גם מוצרים נלווים שמושפעים. בהם NGINX Ingress Controller, NGINX Gateway Fabric ו-NGINX Instance Manager. אם אתם משתמשים בהם, בדקו את הרשימה המלאה אצל F5.
באותה סקירה depthfirst מציינת שלוש חולשות נוספות. CVE-2026-42946 מקריסה תהליך במודולי SCGI ו-uWSGI. CVE-2026-40701 היא שימוש בזיכרון שכבר שוחרר בבדיקת OCSP. CVE-2026-42934 קוראת נתונים מחוץ לתחום במודול charset. גם אותן מתקנות הגרסאות 1.30.1 ו-1.31.0, לפי nginx.org.
מה זה אומר עבורכם
- בדקו גרסה: הריצו
nginx -v. אם אתם בטווח 0.6.27 עד 1.30.0, עברו ל-1.30.1 או ל-1.31.0. בהפצות לינוקס בדקו אצל המפיץ, כי הוא מוציא חבילה מתוקנת משלו. - חפשו את הכלל הפגיע: AlmaLinux ממליצה לחפש בקבצי התצורה כללי rewrite עם
$1וסימן שאלה, למשל עםgrep -RnE 'rewrite[[:space:]].*\$[0-9].*\?' /etc/nginx. - אם אי אפשר לעדכן: החליפו לכידות ללא שם בלכידות עם שם, בכל כלל rewrite שנמצא. לפי F5 ו-AlmaLinux זה מסיר את תנאי הניצול העיקרי. זו פעולת ביניים, לא תחליף לעדכון.
- ודאו ש-ASLR פועל: בדקו שהוא לא כובה בשרתים ובמכונות וירטואליות, כי כשהוא כבוי התוקף מקבל יתרון.
- בדקו מי מפעיל את השרת: אם האתר שלכם באחסון משותף, שאלו את הספק מתי עדכן את NGINX. אם אתם משתמשים ב-NGINX Ingress Controller, בדקו אותו ברשימת F5.
מקורות והרחבה
- NGINX Rift: Achieving NGINX Remote Code Execution via an 18-Year-Old Vulnerabilitydepthfirst
- 18-year-old NGINX vulnerability allows DoS, potential RCEBleepingComputer
- nginx security advisoriesnginx.org
- NGINX Rift (CVE-2026-42945): AlmaLinux patches and assessmentAlmaLinux
הכתבה נכתבה במקור בעברית על ידי מערכת GEEKLIK, על בסיס המקורות שלמעלה ובדיקת העובדות מולם.
מצאתם טעות? דווחו לנו