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

הדעות בקרב המומחים והטוקבקיסטים חלוקות באשר לנטל האשמה, אך פרצת אבטחה שדווחה ביום שלישי השבוע מאפשרת להריץ קוד שרירותי בהרשאות מורחבות בעזרת 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. פינגבאק: חדשות מוזילה » Blog Archive » שוחררה גירסה 2.0.0.5 לדפדפן פיירפוקס

  7. פינגבאק: חדשות מוזילה » Blog Archive » שוחרר SeaMonkey 1.1.4

כתיבת תגובה

האימייל לא יוצג באתר. (*) שדות חובה מסומנים

תגי HTML מותרים: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>