פרצת אבטחה מאפשרת להריץ קוד שרירותי בפיירפוקס

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

מסתבר שבזמן ההתקנה, Firefox רושם במערכת Windows פרוטוקול בשם firefoxurl, ואת עצמו בתור מי שמטפל בפרוטוקול זה. לכן, כתובות המשתמשות בפרוטוקול זה באתרי אינטרנט (כתובת מהצורה firefoxurl://someaddress) מועברות על ידי אינטרנט אקספלורר ישירות אל Firefox ללא בדיקה. תוקף זדוני יכול לבנות כתובת כזו שתפעל בהרשאות מערכת ה-chrome של Firefox (מערכת ממשק המשתמש), הפועלת בהרשאות מורחבות יותר מאשר קוד המגיע מאתרי אינטרנט. בהרשאות אלו, Firefox מפעיל את הקוד, גם אם הוא מכיל פקודות גישה אל המערכת.

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

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

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

עוד קישורים בדיווח ב-mozillaZine.

9 תגובות לפוסט "פרצת אבטחה מאפשרת להריץ קוד שרירותי בפיירפוקס"

  1. מאת תומר:

    קישורי firefoxurl הנם קישורים שהוגדרו במערכת ההפעלה Windows כקישורים שיפתחו בתוכנה זו. בצורה דומה קישורי ed2k מוגדרים להיפתח בתוכנות שיתוף קבצים כגון eDonkey ו־eMule, וייתכן שגם שם אפשר לגרום לבעית אבטחה דומה להופיע.

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

    מוזילה אשמים כי הם מאפשרים לדפדפן להפעיל דברים מסוכנים מה־chrome, מבלי לוודא את טיבם או לדרוש את אישור המשתמש.

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

  2. מאת צחי:

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

  3. מאת תומר:

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

  4. מאת צחי:

    אבל מה המסננת? איך אקספלורר ידע שהוא לא מחרב את הקלט שהתוכנית המטפלת בפרוטוקול מצפה לו?

  5. מאת תומר:

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

  6. מאת Dror:

    למען הפרוטוקול, גם באתר ynet פורסמה כתבה בנושא:
    http://www.ynet.co.il/articles/0,7340,L-3425548,00.html

  7. מאת תומר:

    למען הפרוטוקול אציין כי הכתבה בווינט מצוצה מהאצבע, ונפלה בה יותר מטעות אחת. (ראה בתגובות)

  8. [...] לאירועי האבטחה האחרונים, הוחלט לשחרר את גירסה 2.0.0.5 מוקדם מהצפוי על־מנת לסגור את [...]

  9. [...] שתוקנו גם בעדכון 2.0.0.6 של Firefox – בעיות הכוללות בעיקר את בעיית פרוטוקול firefoxurl שדווחה כאן בעבר. גרסה זו שוחררה זמן קצר בלבד לאחר גרסה [...]

כתיבת תגובה