באמצע מאי חוקרי אבטחה חשפו פגיעות קריטית בשרת NGINX, שמכונה NGINX Rift ומסומנת CVE-2026-42945. הציון שלה הוא 9.2 מתוך 10, והמשמעות בשטח היא שתוקף לא מאומת יכול להפיל את השרת או, בתנאים מסוימים, להריץ עליו קוד, בעזרת בקשת HTTP אחת בנויה היטב.

מה שהופך את הסיפור למטריד הוא הוותק. הבאג יושב במודול ה-rewrite של NGINX, באותו קוד שמטפל בהפניות כתובות, והוא קיים שם מאז גרסה 0.6.27 שיצאה ב-2008. כלומר במשך כ-18 שנה הוא חיכה בשקט בתשתית שמריצה בערך שליש מאתרי האינטרנט בעולם.

איך זה עובד

הפגיעות מתעוררת רק כשתצורת ה-NGINX משתמשת בתבנית מסוימת של rewrite או set עם הפניה לקבוצת לכידה לא-ממוספרת ועם סימן שאלה במחרוזת ההחלפה. תוקף ששולח בקשה עם תבנית חוזרת וארוכה גורם לחריגה מגבולות הזיכרון שהוקצה, וזה מוביל להשחתת זיכרון. התוצאה הנפוצה היא קריסה חוזרת של תהליך העבודה, כלומר מניעת שירות, ובמערכות שבהן הגנות זיכרון מסוימות כבויות גם הרצת קוד.

הפגיעות נוגעת ל-NGINX Open Source בגרסאות 0.6.27 עד 1.30.0, ל-NGINX Plus מ-R32 עד R36, וגם למוצרים שמשלבים את אותו קוד, כולל בקר ה-Ingress של Kubernetes. כבר נצפו ניסיונות ניצול בפועל, אז זה לא תיאורטי.

מה לעשות

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

אצל עסקים שעובדים מולנו, NGINX יושב הרבה פעמים כ-reverse proxy בקצה, בדיוק במקום שהכי חשוף. כתבנו לאחרונה על פגיעות עם ציון CVSS 10 ב-Cisco Secure Workload ומה ציון כזה אומר עליכם, ואותו עיקרון חוזר: רכיב תשתית בקצה הרשת שווה דקה של בדיקה רצינית. אם אתם לא בטוחים אילו גרסאות רצות אצלכם, צרו קשר ונמפה את זה.