Livewire הוא פריימוורק שמשמש לבניית ממשקים דינמיים ב-Laravel. בגרסאות v3 עד 3.6.3 כולל נמצאה בו חולשה שקיבלה 9.2 מתוך 10, והיא מאפשרת לתוקף שאינו מזוהה כלל להריץ פקודות על השרת. מאז 20 במרץ 2026 היא מסומנת כמנוצלת בפועל, והגרסה שסוגרת אותה היא 3.6.4.
מה החולשה?
Livewire עובד בשיטה שבה מצב הרכיב נשמר בצד השרת ומשוחזר בכל בקשה. הדפדפן שולח בחזרה את הערכים של מאפייני הרכיב, והשרת מרכיב מהם מחדש את האובייקט לפני שהוא ממשיך לטפל בבקשה. השלב הזה נקרא hydration.
שם נמצאת החולשה. לפי הודעת הפרויקט, האופן שבו עדכונים למאפיינים מסוימים עוברים את השלב הזה מאפשר בתרחישים מסוימים להגיע להרצת פקודות. הסיווג הוא הזרקת קוד, כלומר קלט שמגיע מבחוץ מסתיים בכך שהוא מורץ במקום להיקרא כנתון.
שתי מגבלות שההודעה מציינת במפורש, ושחשוב לא לטשטש: הניצול דורש שרכיב יהיה טעון ומוגדר בצורה מסוימת, והחולשה ייחודית ל-v3 ואינה קיימת בגרסאות הראשיות שקדמו לה. מנגד, ההודעה גם אומרת שהניצול אינו דורש הזדהות ואינו דורש מעורבות של משתמש.
וקטור החומרה מסכם את שני הצדדים: התקיפה מגיעה מהרשת ובלי הרשאות, אבל המורכבות שלה מסומנת כגבוהה, וזאת ההשתקפות של אותה דרישה לתצורה מסוימת. כשהתנאים כן מתקיימים, הפגיעה בסודיות, בשלמות ובזמינות מסומנת כגבוהה בשלושתם.
מי מושפע?
Livewire מגרסה 3.0.0 ועד 3.6.4, שאינה כלולה. גרסאות v2 ומטה אינן מושפעות מהחולשה הזאת.
זה נוגע לצוותי פיתוח ולארגונים שמריצים אפליקציות Laravel, ולא למשתמשי קצה. בישראל Laravel נפוץ מאוד בפיתוח אתרים ומערכות ניהול, ולכן שווה לבדוק גם פרויקטים שכבר לא נוגעים בהם, כאלה שהועלו לאוויר ונשארו בגרסה שהותקנה ביום הראשון.
האם מנוצלת בפועל?
כן. ב-20 במרץ 2026 החולשה נוספה לרשימה שמנהלת CISA האמריקאית עבור חולשות שנצפה ניצול שלהן בשטח, המוכרת בשם קטלוג ה-KEV. המועד שנקבע לגופים הפדרליים לסגור אותה היה 3 באפריל 2026.
בין פרסום הרשומה ב-17 ביולי 2025 לבין הכניסה לקטלוג עברו כשמונה חודשים. זה פרק זמן ארוך מספיק כדי ששרת שלא עודכן מיד יהיה כבר זמן רב באוויר בגרסה פגיעה.
מה עושים?
עדכנו את חבילת Livewire לגרסה 3.6.4 או חדשה יותר. בפרויקט Laravel זה נעשה דרך composer, ואחרי העדכון כדאי לוודא במסך רשימת החבילות שהמספר אכן השתנה ולא ננעל על ידי אילוץ גרסה בקובץ ההגדרות.
חשוב לשים לב לנקודה אחת שההודעה מדגישה: אין דרך עקיפה זמינה. אין הגדרה שאפשר לשנות, אין רכיב שאפשר לכבות. העדכון הוא הפתרון היחיד, וזה מה שהופך אותו לדחוף יותר מהרגיל. הפרטים נמצאים בהודעת האבטחה של הפרויקט.
מכיוון שהחולשה מנוצלת מזה חודשים, שרת שרץ על גרסה ישנה ראוי לבדיקה ולא רק לעדכון. חפשו קבצים שנוספו לתיקיות הכתיבה של האפליקציה, משימות מתוזמנות שאיש לא הגדיר, ותהליכים שרצים מתחת למשתמש של שרת האינטרנט בלי הסבר.