Dirty COW היא חולשה בליבת (kernel) של לינוקס שהתגלתה ב-2016 וזכתה לשם משלה. היא אפשרה למשתמש רגיל שכבר יש לו גישה למחשב להפוך למנהל המערכת (root) ולהשתלט עליו לגמרי. החולשה נוצלה בפועל בשטח, והיא תוקנה בגרסת ליבה 4.8.3.

מה החולשה?

מדובר בבאג מסוג race condition, מצב שבו שתי פעולות שרצות במקביל דורסות אחת את השנייה בגלל תזמון לא צפוי. הבאג נמצא במנגנון שנקרא copy-on-write (העתקה בעת כתיבה), שיטה שבה הליבה חוסכת זיכרון בכך שכמה תהליכים חולקים את אותו אזור זיכרון עד שאחד מהם מנסה לשנות אותו, ורק אז נוצר עותק פרטי.

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

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

מי מושפע?

מושפעות גרסאות ליבת לינוקס מ-2.x ועד 4.x שלפני 4.8.3, כלומר כמעט כל מערכת לינוקס שלא עודכנה מאז סוף 2016. בין המערכות המושפעות גרסאות Ubuntu ותיקות כמו 12.04, 14.04, 16.04 ו-16.10.

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

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

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

מה עושים?

עדכנו את ליבת לינוקס לגרסה 4.8.3 ומעלה, שבה הבאג תוקן. במערכות Ubuntu ו-Debian הריצו sudo apt update ואז sudo apt upgrade, ולאחר מכן הפעילו מחדש את המחשב כדי שהליבה החדשה תיטען.

כדי לבדוק איזו גרסת ליבה מותקנת אצלכם הריצו את הפקודה uname -r. אם המספר נמוך מ-4.8.3 ולא קיבלתם עדכוני אבטחה מאז 2016, המערכת חשופה.

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