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

מה החולשה?

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

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

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

מי מושפע?

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

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

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

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

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

מה עושים?

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

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

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

אחרי העדכון עברו על תיקיית ההעלאות של האתר, wp-content/uploads, וחפשו קבצים שנוספו לאחרונה ואינכם מזהים, במיוחד כאלה שאינם תמונות או מסמכים שהעליתם בעצמכם. חולשה שמאפשרת העלאה בלי חשבון משאירה את העקבות שלה שם.