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

מה קרה

Magento היא הפלטפורמה שעליה בנויות חנויות אונליין רבות בעולם ובישראל, ואדובי מוכרת ממנה גרסה מסחרית בשם Adobe Commerce. לפי Sansec החולשה קיימת בכל הגרסאות שבשימוש היום, כולל 2.4.9 האחרונה, והתוקף לא צריך שם משתמש, סיסמה או חשבון כלשהו בחנות.

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

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

נכון לבוקר ה-6 בספטמבר אדובי לא פרסמה הודעת אבטחה, לא הקצתה לחולשה מספר CVE ולא הוציאה תיקון. עדכון האבטחה המתוכנן הבא שלה אמור לצאת ב-8 בספטמבר, ולא ידוע אם הוא יטפל בזה.

למה זה חשוב לכם

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

מה עושים?

אם אתם אחראים על חנות Magento או Adobe Commerce, ההמלצה הזמנית של Sansec היא לכבות את ממשק GraphQL בחנויות שלא משתמשות בו לתצוגה נפרדת. בדקו גם אם רץ אצלכם תהליך שמתחזה לרכיב של מערכת ההפעלה אבל שייך למשתמש רגיל.

כמה גורמים בקהילה, בהם Disrex ו-ProxiBlue, פרסמו תיקונים לא רשמיים. הם לא הגיעו מאדובי ולא נבדקו על ידה, אז שקלו אותם מול הסיכון והמשיכו לעקוב אחרי העדכון של ה-8 בספטמבר.

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

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