• בלוג
  • באג ב-Kubernetes Image Builder חושף VMs לגישה בלתי מורשית

באג ב-Kubernetes Image Builder חושף VMs לגישה בלתי מורשית

    באג ב-Kubernetes Image Builder חושף VMs לגישה בלתי מורשית

    פורסם ב 23-10-2024

    information-security

    שתי פרצות נמצאו ב-Kubernetes Image Builder, כלי שנועד לבניית תמונות מערכת (images, או אימג’ים) ב-Kubernetes, בעזרת מגוון מנהלי מכונות וירטואליות וקונטיינרים. הפרצות, הקיימות בגירסאות 0.1.37 ומטה של הכלי, מאפשרות גישה לא מורשית למכונות וירטאליות (VMs – Virtual Machines) שנבנו באמצעותו.

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

    הפרצות התגלו ודווחו על ידי ניקולאי ריבניקאר (Nicolai Rybnikar) מחברת Rybnikar Enterprises GmbH. הן תוייגו כ-CVE-2024-9486, אשר קיבלה דירוג של 9.8 מתוך 10 בסולם CVSSv3 (קריטית); וכ-CVE-2024-9594, שקיבלה דירוג של 6.3 מתוך 10 בסולם CVSSv3 (בינונית).

    הפרצות:

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

    CVE-2024-9594 – הפרצה השניה מתייחסת לתמונות מערכת שנבנו באמצעות הספקיות Nutanix, Qemu ו-OVA. במקרה זה, אישורי ברירת המחדל כן מתבטלים לאחר שהמכונה הוירטואלית נוצרת. הפרצה מתקיימת רק במידה שלתוקף הייתה גישה למכונות הוירטואליות בהן נבנות תמונות המערכת, בזמן בנייתן. אם הייתה לו גישה, ואם הוא הספיק לנצל את הגישה הזאת (ואת החולשה של אישורי הגישה בקידוד נוקשה) כדי לבצע שינויים בתמונת המערכת בזמן הבנייה, אז ישנה פרצה.

    איך לדעת אם המכונות הוירטואליות שלכם בסכנה?

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

    להתקנות שבוצעו באמצעות שכפול מהמצבור (repository) של git:
    <cd <local path to image builder repo
    make version

    אם מדובר בהתקנה שבוצעה מקובץ tarball שהורד מהאינטרנט:
    <cd <local path to install location
    grep -o v0\.[0-9.]* RELEASE.md | head -1

    התקנות לקונטיינרים:
    docker run --rm version
    או:
    podman run --rm version
    או לפי התג של תמונת המערכת, שנראה כך (בתמונה מובא התג של תמונת מערכת רשמית):
    registry.k8s.io/scl-image-builder/cluster-node-image-builder-amd64:v0.1.37

    הערה: אמנם הדיווח מתייחס באופן ספציפי לפרצה הראשונה והקריטית יותר (CVE-2024-9486), אך הצעדים נכונים גם לפרצה השניה (CVE-2024-9594), כפי שניתן לראות בדיווח עליה.

    כדי להגן על המכונות הוירטואליות שלכם:

    1. עדכנו את Kubernetes Image Builder ל-גירסה 0.1.38 לפחות. החל מגירסה זו, לכל תמונת מערכת שנבנית מוקצית סיסמה אקראית, ולאחר סיום הבניה ה”חשבון”, יחד עם הסיסמה, מתבטלים.

    2. יש להחליף תמונות מערכת פגיעות על מכונות ויטואליות בכאלה שנוצרו באמצעות גירסה 0.1.38 (לפחות).

    3. אם איו ביכולתכם לבצע את שני הצעדים האלה, ניתן לבטל את “חשבון” הבונה (builder) ב-Kuberenetes Image Builder על מכונות וירטואליות בהן קיימת הפרצה:
    usermod -L builder
    זכרו שמדובר בצעד זמני בלבד.

    השותפים שלנו

    • js-partners-02
    • js-partners-03
    • js-partners-04
    • js-partners-06
    • mariadb-icon
    • docker-icon
    • nodejs
    Skip to content