מסד נתונים, מבחינת הקישור שיושב בתוך גיליון, אינו חייב להיות מסד נתונים. לפי הרשומה, קישור מסוג sql בגיליון של LibreOffice Calc היה יכול לנקוב בתיקייה של קבצי טקסט שעל המחשב כאילו היא המסד שממנו מביאים נתונים, וכך פתיחת המסמך קראה קובץ טקסט מקומי אל תוך הגיליון. הציון הוא 6.7 מתוך 10.
מה החולשה?
Calc יודע לקשור טווח תאים למקור נתונים חיצוני, כך שהטבלה בגיליון נשאבת ממקום אחר במקום להיות מוקלדת. הקישור הזה נשמר בתוך המסמך ועובר איתו הלאה, אל כל מי שהמסמך יגיע אליו.
לקישור כזה יש סוגים, לפי מה שנמצא בצד השני. אחד מהם הוא sql, שמצפה למצוא שם מסד נתונים. הנקודה שהרשומה מצביעה עליה היא שהגדרת היעד הזאת הייתה רחבה מדי: תיקייה של קבצי טקסט מקומיים הייתה יכולה להיכנס לתפקיד הזה, ומה שחזר אל הגיליון היה תוכן של קובץ מהמחשב שפתח אותו.
הרשומה אינה מסבירה מעבר לזה כיצד נראה הקישור הזה בפועל, ולכן גם הדף הזה נעצר כאן.
את התוצאה כן אפשר לנסח בפשטות: מי שבנה את המסמך קובע מה הגיליון יקרא מהמחשב של מי שפותח אותו. זאת הסיבה שהסיווג הוא CWE-200, חשיפת מידע לגורם לא מורשה, ולא תקלה בטעינת נתונים. הווקטור מחדד: VC:H לחשיפה גבוהה ולידו SC:H, שמסמן שהחשיפה אינה נעצרת בתוכנה עצמה. הסימון UI:P אומר שנדרשת פעולה של אדם, והיא פתיחת המסמך.
התיקון עובד בדרך ההפוכה מהצפוי. במקום לחסום את מה שהתגלה כבעייתי, לפי הרשומה הגרסאות המתוקנות מחזירות בזמן טעינת מסמך רק שלושה סוגים של ספקי נתונים: csv, html ו-xml. כלומר רשימה מוגדרת של מה שמותר, וכל השאר, sql בכללו, אינו קם לתחייה מעצמו כשהמסמך נפתח.
מי מושפע?
הרשומה אינה נוקבת בגרסאות. הן נמצאות בהודעת האבטחה של LibreOffice.
מי שמשתמש ב-LibreOffice בישראל עשה את הבחירה הזאת בדרך כלל מסיבה אחת, שהיא עלות הרישיון. לכן זה נפוץ בבתי ספר, בעמותות, אצל עצמאים ובבתים. במקומות האלה אין בדרך כלל מערכת שדוחפת עדכונים, ואין מי שקורא הודעות אבטחה של חבילת אופיס.
וזה בדיוק הפער שחולשה כזאת חיה בו. לא מפני שהציון גבוה, אלא מפני שגיליון שמסתובב בין אנשים יכול להישאר בשימוש שנים אחרי שיצא תיקון שאיש לא התקין.
האם מנוצלת בפועל?
אין ידיעה על ניצול בשטח. החולשה אינה מופיעה בקטלוג ה-KEV של CISA, סוכנות הסייבר האמריקאית, שרושם את החולשות שידוע כי תוקפים משתמשים בהן בפועל. זה המצב נכון לעדכון האחרון של הדף הזה.
מה עושים?
1. עדכנו את LibreOffice לגרסה שמופיעה בהודעת האבטחה שקושרה למעלה. התיקון כאן אינו הגדרה שאפשר לשנות אלא שינוי בקוד, ולכן אין לו תחליף.
2. צפו לשינוי בהתנהגות אחרי העדכון. קישורי sql אינם נטענים יותר מעצמם בזמן פתיחת המסמך, ולכן אם גיליון עבודה שהתרגלתם אליו מפסיק להתמלא לבד, זה התיקון עושה את שלו ולא תקלה חדשה. רעננו אותו יזום, ובדקו לאן הקישור מצביע לפני שאתם עושים את זה.
3. לגיליון שהגיע מבחוץ, התשובה לשאלה על עדכון קישורים היא לא. LibreOffice שואל לפני שהוא מעדכן קישורים במסמך, וזאת ההזדמנות לעצור את מה שתואר כאן.
4. ואם אתם מחלקים הנחיות במקום שבו LibreOffice מותקן על מכשירים שאינם בניהול מרכזי, ההנחיה המעשית היא לבדוק את הגרסה תחת עזרה ואז אודות. התקנה שנעשתה ביד לפני שנתיים לא התעדכנה מאז.