הבאג הזה יושב במקום שאף אחד לא מתקין בכוונה: ספריית FreeType, הרכיב שממיר קובץ גופן לאותיות על המסך ומשובץ בתוך מערכות הפעלה ותוכנות רבות. לפי הרשומה, קובץ גופן שבנוי בצורה מסוימת גורם לה לכתוב מחוץ לאזור הזיכרון שהקצתה, ומשם אפשר להגיע להרצת קוד. הציון הוא 8.1, ומאז מאי 2025 היא רשומה אצל CISA כחולשה שמנוצלת בשטח.
מה החולשה?
כשתוכנה מציגה טקסט היא אינה מציירת את האותיות בעצמה. היא מעבירה לספריית גופנים את הקובץ שמתאר איך כל תו נראה, והספרייה מחזירה לה צורה מוכנה. FreeType היא הספרייה שעושה את זה באנדרואיד ובחלק גדול ממערכות לינוקס, כך שהקוד שלה רץ כמעט בכל פעם שמשהו מוצג על המסך באותיות.
חלק מפורמטי הגופנים מרכיבים תו אחד מכמה חלקים קטנים יותר, ולכל חלק כזה יש רשומה משלו בתוך הקובץ. הרשומה מצביעה על הקוד שמפרסר את החלקים האלה בקבצים מסוג TrueType GX ובקבצי גופן משתנים.
המנגנון עצמו הוא טעות חישוב קטנה עם תוצאה גדולה. לפי הרשומה, ערך קצר עם סימן מועתק לתוך משתנה ארוך בלי סימן, ואז מתווסף לו מספר קבוע. הצירוף הזה גורם לערך לגלוש ולהתהפך במקום לגדול, ולכן הקוד מקצה אזור זיכרון קטן ממה שבאמת דרוש. אחר כך הוא כותב לתוכו עד שישה ערכים ארוכים, והם חורגים אל מעבר לגבול. לסוג הזה של באג קוראים כתיבה מחוץ לגבולות אזור הזיכרון, והרשומה אומרת שהוא עלול להוביל להרצת קוד שרירותי.
פרט אחד ממתן את התמונה. הווקטור מסמן מורכבות תקיפה גבוהה, כלומר לא כל ניסיון מצליח וצריך שיתקיימו תנאים נוספים.
מי מושפע?
הרשומה מסמנת את FreeType בגרסה 2.13.0 ובכל מה שלפניה, ואומרת במפורש שגרסאות חדשות יותר אינן מושפעות. ברשימת המושפעים מופיעה גם Debian Linux 11.0.
אבל מספר הגרסה אינו מה שתחפשו בטלפון שלכם, כי FreeType אינה תוכנה שמתקינים בשם. היא רכיב שמשובץ בתוך דברים אחרים, ולכן היא מתעדכנת דרכם. הרשומה מצרפת את עלון האבטחה של אנדרואיד מ-1 במאי 2025, וזה הסימן הברור ביותר לאן החולשה הזאת הגיעה: אל מכשירים, לא רק אל שרתים.
האם מנוצלת בפועל?
כאן שווה לדייק גם במה שכתוב וגם במה שלא. נוסח הרשומה עצמו זהיר ואומר שייתכן שהחולשה נוצלה בשטח, בלי לקבוע. מנגד, ב-6 במאי 2025 היא נוספה לקטלוג ה-KEV של סוכנות הסייבר האמריקאית CISA, רשימת החולשות שידוע שתוקפים משתמשים בהן בפועל, והמועד שנקבע לגופים הפדרליים האמריקאיים לסיים את התיקון היה 27 במאי 2025.
הצירוף של שני אלה אומר משהו: גורם רשמי כבר הכריע שיש כאן ניצול, גם אם הטקסט ב-NVD נשאר בלשון אולי. הרשומה מצרפת גם הודעת אבטחה של פייסבוק על החולשה.
מה עושים?
1. בטלפון אנדרואיד, התקינו את עדכון האבטחה של 1 במאי 2025 או מאוחר ממנו. תאריך עדכון האבטחה מופיע במסך פרטי התוכנה בהגדרות, וזה המספר שקובע כאן, לא גרסת אנדרואיד עצמה.
2. במחשבי לינוקס, עדכנו את חבילת freetype דרך מנהל החבילות של ההפצה. מי שמריץ Debian 11 מופיע ברשימת המושפעים ברשומה במפורש, אז זו אינה בדיקה תיאורטית.
3. אם אתם מפתחים או מתחזקים תוכנה שאורזת FreeType בתוכה, בדקו איזו גרסה נארזה. 2.13.0 ומטה נמצאות בטווח, ומעליה הרשומה אומרת שלא.
4. מעבר לעדכון אין כאן פעולה שמשתמש קצה יכול לעשות. אי אפשר להימנע מקבצי גופן, כי כל דבר שמוצג באותיות עובר דרך הספרייה הזאת.