ניהול הרשאות ענן תמיד מרגיש בטוח עד שמישהו בודק את קצוות המערכת. ב-30 בספטמבר 2026 בשעה 11:40 בבוקר לפי שעון החוף המזרחי, קיבל צוות האבטחה של Docker דיווח מחוקרי האבטחה Peter Molnar ו-Krisztian Hozak על בעיית תכנון במנגנון ניהול הזהויות של Docker Hub. כפי שמתברר, כשמשתמש המיר חשבון אישי לארגון, מפתחות הגישה האישיים שלו (PAT) עברו אוטומטית לבעלים החדש בלי לאמת את הסכמתו ובלי להחליף את המפתח הסודי. לפי הודעת האבטחה הרשמית של Docker, התקלה הזו הוגדרה תחת CVE-2026-105445.
התרחיש אפשר לתוקף ליצור חשבון רגיל, להנפיק עליו מפתח גישה אישי, להמיר את החשבון לארגון ולהגדיר משתמש יעד כבעלים החדש. מרגע זה, הטוקן שנותר בידי התוקף המשיך לפעול תחת זהות הקורבן ברישום ה-registry. הדבר אפשר לבצע פעולות pull ו-push ואף למחוק אימג'ים במאגרי הקורבן ובארגונים שבהם היו לו הרשאות, תחת זהות לגיטימית וללא ידיעת המשתמש.
טוקן אישי בזהות של מישהו אחר
במשך למעלה משנתיים, מאז 26 באוגוסט 2024 בשעה 20:33 UTC ועד סוף ספטמבר 2026, המערכת של Docker העבירה רשומות בעלות של טוקנים בעת המרה. הסיבה למנגנון ההמרה פשוטה: ב-Hub אין דרך מובנית להעביר מאגר מחשבון אחד לאחר מבלי לשבור פקודות משיכה שנשענות על נתיב המאגר. כדי לשמר את השמות, משתמשים ממירים חשבון אישי לארגון לפי מדריך המרת החשבונות של החברה וממנים משתמש קיים כבעלים החדש.
הבעלים המיועד לא התבקש לאשר ולא קיבל על כך הודעה. יחד, שני הפערים האלה אפשרו את הניצול.מתוך הודעת האבטחה של Docker
הכשל הזה פתח פתח לפגיעה בשרשרת האספקה של התוכנה. תוקף שהחזיק בטוקן כזה יכול היה לפרסם אימג'ים מזויפים בשמו של מהנדס לגיטימי, מבלי להשאיר עקבות בממשק הניהול של האתר. הפגיעות לא העניקה גישה לממשק ה-web של Docker Hub, ולא אפשרה לשנות סיסמאות, כתובות מייל או אימות דו-שלבי, אבל היכולת לדחוף אימג'ים תחת חשבון אמין היא סיכון תשתיתי ממשי לכל פייפליין.
דוקר מרגיעה, אבל הראיות חלקיות
צוות האבטחה של דוקר פעל מהר. החברה שחזרה את הבעיה בחשבונות בדיקה פנימיים בשעה 1:30 בצהריים, ופרסה תיקון ייצור מאומת כבר בשעה 3:10 באותו היום, פחות מארבע שעות מרגע הדיווח. החברה בדקה כ-304,000 פעולות push שבוצעו באמצעות טוקנים שהועברו, ומצאה כי כולן נחתו במאגרים הלגיטימיים של הארגון או של הבעלים החדש. בדיקה סטטית של האימג'ים הציבוריים בסיכון גבוה לא העלתה נוזקות, כורי מטבעות או ניסיונות איסוף אישורים.
יומני הרישום מתעדים מתי נעשה שימוש בטוקן ולא את עצם קיומו, ולכן טוקן מועבר שמעולם לא נעשה בו שימוש אינו מותיר עקבות.
דוקר מודה בכך בעצמה בהודעה שפרסם מנהל האבטחה הראשי Mark Lechner. לפי החברה, בשל המגבלה הזו היא התייחסה לכל טוקן שהועבר כפוטנציאלית מושפע, גם אם לא זוהה שימוש ביומנים. החברה שלחה התראות במייל למספר מוגבל של חשבונות שנחשפו ישירות ב-2 באוקטובר 2026, וביטלה את הטוקנים המועברים ב-8 באוקטובר 2026 בשעה 3:45 אחר הצהריים לפי שעון החוף המזרחי, למעט מקרים שבהם המשתמשים ביקשו החרגה מפורשת.
ההמלצה לעבור ל-OAT מגיעה עם מחיר
בדוקומנטציה המעודכנת, דוקר מציעה למשתמשים לעבור מטוקנים אישיים (PAT) לטוקנים ארגוניים לפי התיעוד על טוקנים ארגוניים. מה שבאמת מעניין כאן הוא הפער מול דרישות התשלום: טוקני OAT זמינים אך ורק לארגונים שמחזיקים במנוי Team בתשלום ומעלה. בנוסף, טוקנים ארגוניים אינם נתמכים כלל בכניסה דרך Docker Desktop, מה שמאלץ מפתחים רבים להמשיך להשתמש בטוקנים אישיים בסביבת הפיתוח המקומית שלהם.
לא הייתי ממהר לקבל את ההמלצה של דוקר לכולם. אם אתם מנהלים עסק או צוות פיתוח ומסתמכים על חשבונות חינמיים, ההמלצה הזו היא בעיקר הזמנה לשדרוג תוכנית התשלום שלא פותרת את בעיית המפתחים שעובדים מול Docker Desktop. החברה אמנם חסמה את העברת הטוקנים בהמרות חדשות, והוסיפה דרישת הסכמה מפורשת לפני מינוי משתמש לבעלים של ארגון, אך בעיית התאימות סביב הטוקנים נותרה בעינה.
| סוג טוקן | רמת הרשאה | דרישת תשלום | תמיכה ב-Docker Desktop | חשיפה לפרצה |
|---|---|---|---|---|
| טוקן אישי (PAT) | הרשאות ברמת משתמש (חלות גורפית על כלל מאגרי החשבון לפי התפקיד שהוגדר) | חינם | נתמך מלא | נחשף בהמרות חשבון |
| טוקן ארגוני (OAT) | מוגבל לארגון ומאגרים | מנוי בתשלום (Team ומעלה) | לא נתמך | לא נחשף |
סדר פעולות מומלץ לחשבונות ארגוניים
מי שלא קיבל את הודעת הדוא"ל מדוקר ב-2 באוקטובר אינו נכלל ברשימת החשבונות שנחשפו ישירות. עם זאת, מנהלי DevOps צריכים לגשת להגדרות החשבון ב-Docker Hub תחת Account settings ולאחר מכן Personal access tokens, לבדוק את רשימת המפתחות ולמחוק מיד כל מפתח שאינו מוכר או אינו בשימוש. בעת ביצוע רוטציה, הקפידו לעדכן את סודות ה-CI/CD שלכם כדי למנוע השבתה של תהליכי הפריסה והבנייה. שאלות נוספות על המקרה אפשר להפנות לתמיכה בכתובת app.docker.com/support/contact.
בינתיים, הכפתור של שדרוג החשבון בתשלום עדיין זוהר.
מקורות
- Docker Hub security advisory: personal access tokens transferred during account-to-organization conversionshttps://www.docker.com/blog/docker-hub-security-advisory-cve-2026-105445/
- Contact Support | Dockerhttps://app.docker.com/support/contact
- Docker Cloud Sandboxes: Recap from WeAreDevelopers | Dockerhttps://www.docker.com/blog/docker-cloud-sandboxes-wearedevelopers-recap
- תיעוד טוקני גישה ארגוניים (OATs) והגבלות מנוייםhttps://docs.docker.com/security/access-tokens/organization-access-tokens/
- תיעוד תהליך המרת חשבון משתמש לארגון ב-Docker Hubhttps://docs.docker.com/accounts/organization/setup/convert-account/
- Dockerhttps://weba.co.il/tools/docker/
הידיעה נכתבה מהמקורות שלמעלה בתאריך הפרסום, וכל טענה בה נבדקה מולם. מצאתם טעות? כתבו.