FreeIPA היא מערכת ניהול הזהויות של ארגונים שמריצים לינוקס, מקבילה פתוחה למה שווינדוס עושה עם Active Directory. לפי הרשומה, לקוח שאין לו שם משתמש ואין לו סיסמה יכול ליצור בה משתמש חדש ולהכניס אותו לקבוצת המנהלים. הציון הוא 9.8 מתוך 10.
מה החולשה?
בשרת מדריך כמו זה שעומד בבסיס FreeIPA, ההרשאות נקבעות בכללים שנקראים ACI, כללים שקובעים מי רשאי לקרוא ולשנות אילו רשומות. אחד הכללים האלה נועד לאפשר למשתמש לנהל בעצמו את ה-token של האימות הדו-שלבי שלו, כדי שלא יצטרך לפנות למנהל בכל פעם שהוא מחליף מכשיר.
לפי הרשומה, בכלל הזה שתי בעיות שמצטרפות זו לזו. הראשונה, הוא אינו דורש הזדהות כלל. השנייה, הוא אינו מגביל אילו שדות מותר להוסיף לצד רשומת ה-token. כלומר אפשר לפנות בלי להזדהות, ליצור רשומה, ולתלות עליה שדות שאין להם שום קשר ל-token.
מכאן הרשומה מתארת שרשרת. בצירוף עם חולשה נוספת באופן שבו שרת המדריך שמתחתיו מעריך את כללי ה-ACI, חולשה שמנוהלת בנפרד, אפשר ליצור משתמש Kerberos שהתוקף שולט בתוכנו ולהוסיף אותו לקבוצת המנהלים.
והתוצאה אינה עקיפה של הרשאות אלא הרשאות אמיתיות. הרשומה אומרת שהתוקף מקבל חברות של ממש בקבוצת המנהלים של FreeIPA ומבצע פעולות ניהול מול המדריך. בהתקנות שבהן מופעל מנגנון ה-SID, ההשפעה מגיעה לפי התיאור גם לשירותי זהות נוספים בסביבה.
מי מושפע?
התקנות של FreeIPA. הרשומה אינה נוקבת בגרסאות, אין בה טווחי בנייה, והיא מפנה לרשומת האבטחה של רד האט ולדיווח הבאג.
זאת אינה חולשה שמישהו יגלה שהיא נוגעת לו במקרה. מי שמפעיל FreeIPA יודע שהוא מפעיל אותה. בארץ זה רלוונטי בעיקר לארגונים עם סביבות לינוקס, לאוניברסיטאות ולחברות פיתוח, ולמשתמש הביתי זה אינו רלוונטי כלל.
ושימו לב לתנאי אחד שנובע מהתיאור עצמו. מדובר בלקוח LDAP שמצליח לפנות לשרת, כך שמה שקובע את החשיפה בפועל הוא מי יכול להגיע לשרת המדריך ברשת.
האם מנוצלת בפועל?
לא לפי מה שידוע כרגע. החולשה אינה מופיעה בקטלוג ה-KEV של סוכנות הסייבר האמריקאית CISA, הרשימה שמרכזת חולשות שידוע כי תוקפים משתמשים בהן.
מה שכן ראוי לומר הוא מה הניצול נותן למי שיבצע אותו. לא גישה לשרת בודד, אלא חברות בקבוצת המנהלים של מערכת הזהויות: היכולת ליצור חשבונות ולשנות הרשאות בכל הסביבה שנשענת עליה.
מה עושים?
עקבו אחרי רשומת האבטחה של רד האט. שם מתפרסמות החבילות המתוקנות לכל הפצה, והרשומה הפומבית מפנה לשם במקום לנקוב בגרסאות בעצמה.
בינתיים בדקו מי יכול לפתוח חיבור LDAP לשרת ה-FreeIPA שלכם. התיאור מדבר על לקוח שפונה בלי להזדהות, ולכן כל סגמנט רשת שמגיע לשרת הזה בלי סיבה עסקית הוא חשיפה מיותרת. הגבלה ברמת הרשת אינה מתקנת את הכלל הפגום, והיא כן מצמצמת מי יכול לנסות.
ואז עברו על קבוצת המנהלים עצמה. הניצול שמתואר ברשומה מסתיים בחשבון חדש בתוך הקבוצה, ולכן הבדיקה המעשית פשוטה: מי חבר בקבוצת המנהלים של FreeIPA, ומי מהם אמור להיות שם. חשבון שאיש אינו מזהה הוא הסימן.
בדקו גם רשומות token שנוצרו לאחרונה ואינן משויכות לאף משתמש אמיתי. זאת נקודת הפתיחה של השרשרת לפי התיאור, ושם יישארו השאריות אם מישהו כבר ניסה.