חולשת אבטחה חמורה וחדשה בשם HollowByte נחשפה בספריית ההצפנה הפופולרית OpenSSL, המשמשת את מרבית שרתי האינטרנט בעולם.

החולשה מאפשרת לתוקפים מרוחקים ללא כל צורך באימות (Unauthenticated) לגרום למצב של מניעת שירות (DoS) ולתקיעת שרתי אינטרנט, באמצעות שליחת פאקט זדוני קטן במיוחד באורך של 11 בתים (Bytes) בלבד.
החולשה התגלתה ונחקרה על ידי צוות הסייבר של חברת אוקטה (Okta), אשר חשף כי התיקון לקוד הוכנס בחשאי וללא פרסום מזהה CVE רשמי כבר בחודש יוני, מה שמקשה על כלי סריקה אוטומטיים לזהות שרתים פגיעים.
מנגנון הכשל: כיצד 11 בתים מקפיאים שרת שלם?
החולשה מנצלת כשל מבני בדרך שבה OpenSSL מנהלת את תהליך לחיצת היד (TLS Handshake) הראשוני מול הלקוח:
- אמון מוחלט בכותרת: כל הודעת לחיצת יד של TLS מכילה כותרת (Header) באורך 4 בתים, כאשר 3 בתים מתוכם מצהירים על הגודל הצפוי של גוף ההודעה שיגיע בהמשך. בגרסאות הפגיעות, OpenSSL מקצה באופן מיידי בפרק הזיכרון (Buffer) נפח של עד 131 קילובייט בהסתמך אך ורק על ההצהרה שבכותרת, עוד לפני שמשתנה או נבדק תוכן הפאקט בפועל.
- תקיעת תהליכי העבודה: לאחר שהתוקף שולח את הכותרת הזדונית, הקוד המקצה נכנס למצב המתנה חסום (Blocking) וממתין לנתונים הבאים שאמורים להגיע – נתונים שהתוקף לעולם לא ישלח.
- פרגמנטציה קבועה בזיכרון (Heap Fragmentation): הבעיה מחמירה בשל האופן שבו ספריית המערכת הסטנדרטית בלינוקס (glibc) מנהלת זיכרון. כאשר החיבור הזדוני מתנתק, OpenSSL אמנם משחררת את הזיכרון, אך glibc לא מחזירה אותו ישירות למערכת ההפעלה אלא שומרת אותו לשימוש חוזר. תוקף המריץ גלים של חיבורים כאלו בגדלים משתנים מונע מהמערכת לעשות שימוש יעיל בזיכרון המשוחרר, מה שמוביל לעלייה קבועה ובלתי הפיכה בצריכת הזיכרון הפיזי של השרת (RSS), עד לקריסתו המלאה או הפעלת מנגנון ה-OOM (Out of Memory) של מערכת ההפעלה.
בדיקות מעבדה שנערכו על שרתי NGINX הראו כי מתקפות ממוקדות הצליחו להקפיא מאות מגה-בייטים של זיכרון בתוך דקות ספורות, וזאת מבלי לעבור את סף החסימה של מנגנוני הגנת קצב רגילים (Rate-Limiting).
המוצרים המושפעים והנחיות התגוננות
החולשה משפיעה על כל מוצר תוכנה או שרת המבוסס או מקושר לספריית OpenSSL הפגיעה. בין היתר, רשימת המערכות החשופות כוללת את:
- שרתי אינטרנט: NGINX ו-Apache HTTP Server (בשימוש עם מודול mod_ssl).
- סביבות פיתוח ושפות: Node.js, Python (מודול ssl) ו-PHP בגרסאות העושות שימוש ב-OpenSSL פגיע.
- בסיסי נתונים: דוגמת MySQL ו-PostgreSQL.
המלצות תפעוליות דחופות
מאחר שלא פורסם אזהרת אבטחה רשמית במסלול הרגיל, ארגונים נדרשים לבצע בדיקה ידנית של גרסאות התוכנה ולשדרג באופן מיידי את חבילות ה-OpenSSL לגרסאות הבטוחות שיצאו לשוק: 4.0.1 ומעלה, או לגרסאות התיקון הרטרואקטיביות הבאות: 3.6.3, 3.5.7, 3.4.6 ו-3.0.21. לאחר עדכון החבילות, יש לבצע הפעלה מחדש (Restart) לכל שירותי הרשת הפעילים כדי לוודא שהגרסה החדשה נטענה לזיכרון.





