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

כך עובדת CVE-2026-63277, החמורה מבין שש חולשות ש-The Document Foundation פרסמה ב-5 באוקטובר ותיקנה בגרסאות 26.2.5 ו-26.8.0 של LibreOffice. שני צוותים הגיעו אליה במקביל ובאופן עצמאי: ריק דה יאגר (Rick de Jager) מצוות האבטחה V12, ותומס רינסמה ואדוארדו ג'ראצ'י (Thomas Rinsma ו-Edoardo Geraci) מ-Codean Labs. את התיקון כתב קאולן מקנמרה (Caolán McNamara) מ-Collabora Productivity. ב-NVD החולשה מסומנת בציון CVSS 4.0 של 8.5 ובסיווג CWE-829, הסיווג שמתאר טעינת רכיב פעיל ממקום שאינו בשליטת התוכנה.

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

מה זה בכלל קישור לנתונים חיצוניים בגיליון

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

הזכירה הזאת נשמרת בתוך המסמך, ברכיב XML בשם calcext:data-mappings. כלומר הכתובת שממנה הגיליון מושך נתונים נוסעת יחד עם הקובץ, ומי ששלח לכם את הגיליון הוא גם מי שקבע מה כתוב שם. עד כאן עוד אין בעיה.

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

איך קישור לנתונים הופך להרצת קוד

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

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

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

כדאי לקרוא את וקטור ה-CVSS בדיוק כמו שהוא. הוא מסומן AV:L, כלומר הקובץ צריך קודם להגיע למחשב, ו-UI:P, כלומר נדרשת פעולה פסיבית מהמשתמש. "פסיבית" כאן היא בדיוק המצב שבו מישהו פותח קובץ שקיבל, וזה הכול. לפי הערכת ה-SSVC של CISA שצורפה במועד הפרסום, לא נצפה ניצול בפועל, אבל ההשפעה הטכנית סומנה כמלאה. לפי The Hacker News, קוד הוכחה לחולשה פורסם במאגר של צוות V12.

אותו רכיב, עוד חמש דרכים לאבד מידע

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

CVE-2026-63267 עוברת דרך ספק ה-csv. הקישור נשלף בזמן שהמסמך נטען, כך שפתיחת מסמך הייתה יכולה לקרוא קובץ מקומי לתוך הגיליון, או לשלוח בקשת GET לשרת שהמסמך בחר. שתי בעיות במחיר אחת, קריאת קבצים מקומיים וגם SSRF (הכרחת התוכנה לפנות בשמכם לכתובת שהתוקף בחר).

CVE-2026-63268 נשארת בספק ה-sql, אבל עם כתובת מסוג sdbc:flat:file://. קישור כזה היה יכול להכריז על תיקייה של קובצי טקסט מקומיים כאילו היא מסד נתונים, ומשם תוכן הקבצים נקרא לתוך הגיליון.

CVE-2026-63266 הולכת בכיוון ההפוך, כתיבה במקום קריאה. דרך אותו קישור sql ופונקציונליות הגיבוי של Firebird, מסמך היה יכול לכתוב קובץ לכל מקום שהמשתמש שפתח אותו מורשה לכתוב אליו.

CVE-2026-63270 היא הדליפה השקטה שבחבורה. אפשר היה לבנות כתובות שמרחיבות ערכים של משתני סביבה או של קובצי ini, ולשלוח את מה שהתקבל לשרת מרוחק בעת פתיחת המסמך. האזהרה אומרת במפורש שהבדיקה שנוספה בזמנו עבור CVE-2024-12426 לא כיסתה כל מקום שבו מסמך יכול לספק כתובת, ושנתוני XForms וספקי ה-csv וה-sql של Calc עוד הגיעו להרחבה הזאת. (וזאת הפעם השנייה שאותו סוג של בדיקה מתגלה כחלקית; Codean Labs פרסמו ב-2025 ניתוח מפורט של הסבב הקודם.)

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

מה בעצם שינו בתיקון

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

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

ההרשאה לא נלקחה. היא רק הפסיקה להיות אוטומטית.

אצל Apache זה עדיין פתוח

את אותו ממצא קיבלה גם Apache OpenOffice, שם הוא מתועד כ-CVE-2026-59265. ההודעה יצאה לרשימת oss-security ב-2 באוקטובר, שלושה ימים לפני הפרסום של LibreOffice, בידי דייב פישר (Dave Fisher) מהקרן. הקרן מדרגת את החומרה כקריטית, והקרדיט זהה: רינסמה וג'ראצ'י מ-Codean Labs, וגם דה יאגר.

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

מה זה אומר בפועל

אם אתם מריצים LibreOffice על מחשבי הארגון, העדכון ל-26.2.5 או ל-26.8.0 הוא הפעולה היחידה שסוגרת את כל שש החולשות, והוא דחוף יותר במקומות שבהם שילוב Java פעיל. מי שעובד עם OpenOffice נמצא במצב אחר: עד שתצא 4.1.17, מתג ה-Java בהגדרות הוא ההגנה בפועל, וכיבוי שלו עולה בפונקציונליות שמעטים באמת צריכים.

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