הרשומה הזאת עוסקת ב-mod_ssl, המודול שמטפל בחיבורי HTTPS בשרת ה-HTTP של Apache, ובאופן ספציפי בכלל ההרשאות SSLRequire. מי שמשתמש בו כדי להגביל מי מגיע לאיזה חלק באתר עלול לגלות שההגבלה אינה מתקיימת כפי שהוגדרה. הציון הוא 9.8 מתוך 10, והחולשה אינה מופיעה כמנוצלת בפועל נכון לעדכון האחרון.

מה החולשה?

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

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

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

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

מי מושפע?

מושפעות גרסאות 2.4.0 עד 2.4.68 של שרת ה-HTTP של Apache, כלומר כל ענף 2.4 עד העדכון הזה.

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

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

האם מנוצלת בפועל?

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

מה עושים?

בדקו את הגרסה בפקודה httpd -v או apache2 -v. אם היא בטווח 2.4.0 עד 2.4.68, עברו לגרסה שיצאה אחרי 2.4.68.

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

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