Satori היא ספרייה שמקבלת HTML ו-CSS ומחזירה מהם תמונת SVG, והיא הדרך שבה אתרים רבים מייצרים תמונה אוטומטית לעמודים שלהם. בכל הגרסאות מ-0.0.27 ועד זו שקודמת ל-0.33.5 היא לא ניקתה כראוי ערכים מסוימים לפני שהכניסה אותם לתוך ה-SVG שהיא בונה, ולכן ערך שהוכן במיוחד יכול להפוך שם מטקסט לתגית. הציון שנקבע לחולשה הוא 5.3 מתוך 10, והגרסה שמכילה את התיקון היא 0.33.5.

מה החולשה?

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

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

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

מי מושפע?

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

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

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

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

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

מה עושים?

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

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

3. אם אתם עובדים עם Next.js, עברו גם על התראת האבטחה שפורסמה שם ועל שחרור הגרסה 16.3.6, שאליהם הרשומה מפנה.

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

5. בדקו מה נעשה עם ה-SVG אחרי שנוצר. מכיוון שההשפעה תלויה בדרך שבה התמונה נצרכת, המקום שבו היא נפתחת הוא חלק מהתשובה לשאלה כמה זה חמור אצלכם.