האקר צילום: AI
האקר צילום: AI

פרצת אבטחה בת 29 שנה נחשפה בשרת האינטרנט הפופולרי Squid

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

מנדי הניג | (1)
נושאים בכתבה אבטחת סייבר

לפעמים חולשת אבטחה מתגלה בתוך ימים. לפעמים בתוך חודשים. ויש מקרים שבהם היא נשארת חבויה בקוד כמעט שלושה עשורים. זה המקרה של Squidbleed, פרצת אבטחה שנמצאה בתוכנת Squid, אחד משרתי הפרוקסי הוותיקים והמוכרים בעולם האינטרנט הארגוני. הפרצה, לפי הדיווח, הייתה קיימת במשך 29 שנה, מאז 1997, ורק עכשיו נחשפה ותוקנה.

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


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


את החולשה גילה חוקר האבטחה לאם ג'ון רונג מחברת Calif.io, יחד עם Mythos Preview, כלי של חברת אנתרופיק המבוסס על מודל קלוד. רונג סיפר כי נתקל ב-Squid בזמן שניסה להתחבר לאינטרנט במהלך טיסה, וגילה כי במטוס מותקנת גרסה ישנה מאוד של התוכנה, בת כמעט עשור. אותה גרסה, לדבריו, הייתה חשופה לפרצה שאותה חקר בהמשך.


רונג דיווח על הבאג למתחזקי פרויקט Squid באפריל, והחולשה קיבלה את הסימון CVE-2026-47729. סימון CVE הוא מספר זיהוי רשמי שניתן לחולשות אבטחה, כדי שחברות, חוקרים ומנהלי מערכות יוכלו לעקוב אחריהן בצורה מסודרת. התיקון שולב בגרסה Squid v7.6, שפורסמה ב-8 ביוני.

למה כולם נזכרים ב-Heartbleed?

החולשה קיבלה את הכינוי "Squidbleed", שם שאולי מזכיר את  Heartbleed, אחת מפרצות האבטחה הזכורות של העשור הקודם. Heartbleed נחשפה ב-2014 בספריית התוכנה OpenSSL, רכיב מרכזי ששימש אתרים ושירותים רבים להצפנת תקשורת באינטרנט. במילים פשוטות, זו הייתה תקלה שאפשרה לגורם חיצוני לגרום לשרת לחשוף חלקים מהזיכרון הפנימי שלו, כלומר מידע זמני שהמערכת החזיקה באותו רגע. הסיבה ש-Heartbleed נחרתה כל כך חזק בזיכרון של עולם אבטחת המידע היא לא רק התחכום שלה, אלא בעיקר ההיקף. OpenSSL הייתה מותקנת במספר גדול מאוד של שרתים ברחבי העולם, ולכן חולשה קטנה יחסית בקוד הפכה לאירוע רחב.החשש היה שתוקפים יוכלו לדלות מהזיכרון של שרתים מידע רגיש כמו סיסמאות, מפתחות הצפנה, פרטי התחברות ונתונים שעברו בין משתמשים לאתרים. 

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

במקרה הזה, הבעיה נמצאה במקום די מפתיע: תמיכה בפרוטוקול FTP. זהו פרוטוקול ישן להעברת קבצים בין מחשבים, שהיה נפוץ מאוד בעבר, אבל כיום נחשב מיושן בהרבה מהחלופות המודרניות. דפדפנים מבוססי Chromium, למשל, הפסיקו לתמוך בו לפני שנים. למרות זאת, Squid עדיין כוללת תמיכה ב-FTP, ושם בדיוק הסתתרה הפרצה.

הבאג שהגיע מ-1997

המקור לבאג הוא שינוי קוד שהוכנס ל-Squid בשנת 1997, כדי לתמוך בשרתי NetWare. NetWare הייתה מערכת הפעלה רשתית של חברת נובל, שהייתה נפוצה בעיקר בשנות ה-80 וה-90 ושימשה ארגונים לניהול קבצים, הדפסות ושירותים פנימיים ברשת המקומית. באותה תקופה, לפני ששרתי Windows ולינוקס השתלטו על התחום, NetWare הייתה חלק משמעותי מתשתיות המחשוב הארגוניות.

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


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


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


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


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

קיראו עוד ב"BizTech"

מה הסיכונים ומה צריך לעשות עכשיו?


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


ההמלצה למשתמשי Squid ברורה: לעדכן לגרסה Squid v7.6 שפורסמה ביוני, ולבדוק האם בכלל יש צורך בתמיכה ב-FTP. ברוב הארגונים, לפי רונג, כמעט אין היום תעבורת FTP לגיטימית. אם אין צורך מיוחד בפרוטוקול הזה, כיבוי התמיכה בו יכול להסיר משטח תקיפה שלם בלי לפגוע בפעילות השוטפת.


הפרשה הזו מתחברת גם למגמה רחבה יותר בעולם אבטחת המידע: שימוש בכלי AI כדי לאתר באגים ישנים בתוכנות קוד פתוח. במקרה הזה, החקירה בוצעה על ידי חוקר אנושי, לאם ג'ון רונג, יחד עם מית'וס פריוויו של אנתרופיק. Calif.io, החברה שממנה הגיע רונג, כבר נקשרה בעבר למחקרים נוספים בתחום, כולל איתור חולשות בעזרת סוכני קוד של OpenAI.




הוספת תגובה
1 תגובות | לקריאת כל התגובות

תגובות לכתבה(1):

הגב לכתבה

השדות המסומנים ב-* הם שדות חובה
  • 1.
    מי לעזאזל משתמש בhttp בימינו משתמשים בhttps (ל"ת)
    אתר מפגר 24/06/2026 19:38
    הגב לתגובה זו