כיצד לסרוק את הסביבה שלך לאיתור גרסאות פגיעות של Curl

כיצד לסרוק את הסביבה שלך לאיתור גרסאות פגיעות של Curl

כיצד לסרוק את הסביבה שלך עבור גרסאות פגיעות של Curl PlatoBlockchain Data Intelligence. חיפוש אנכי. איי.

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

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

כלי רשת בסיסי למערכות יוניקס ולינוקס, cURL משמש בשורות פקודה ובסקריפטים להעברת נתונים. השכיחות שלו נובעת מהעובדה שהוא משמש גם כעזר עצמאי (curl) וגם כספרייה הכלולה בסוגים רבים ושונים של יישומים (libcurl). את ספריית libcurl, המאפשרת למפתחים לגשת לממשקי API של curl מהקוד שלהם, ניתן להכניס ישירות לקוד, להשתמש כתלות, להשתמש כחלק מחבילת מערכת הפעלה, הכלולה כחלק ממיכל Docker, או להתקין על צומת אשכול Kubernetes.

מה זה CVE-2023-38545?

פגיעות החומרה הגבוהה משפיע על סלסול ו-libcurl גרסאות 7.69.0 עד 8.3.0, והפגיעות בחומרה נמוכה משפיעה על גרסאות libcurl 7.9.1 עד 8.3.0. עם זאת, לא ניתן לנצל את הפגיעויות בתנאי ברירת מחדל. תוקף המנסה להפעיל את הפגיעות יצטרך להפנות סלסול לשרת זדוני בשליטת התוקף, לוודא ש-Curl משתמש ב-Proxy SOCKS5 באמצעות מצב פותר proxy, להגדיר את curl כך שיעקוב אחר הפניות מחדש, ולהגדיר את גודל המאגר לקטן יותר גודל.

לפי יאיר מזרחי, חוקר אבטחה בכיר ב-JFrog, ספריית libcurl פגיעה רק אם נקבעו משתני הסביבה הבאים: CURLOPT_PROXYTYPE  מוגדר לסוג CURLPROXY_SOCKS5_HOSTNAME, או CURLOPT_PROXY or CURLOPT_PRE_PROXY  מוגדר לתכנית גרביים5h://. הספרייה פגיעה גם אם אחד ממשתני סביבת ה-proxy מוגדר להשתמש ב- גרביים5h:// תָכְנִית. כלי שורת הפקודה פגיע רק אם הוא מבוצע עם -socks5-שם מארח דגל, או עם -פרוקסי (-x) או -פרה-פרוקסי מוגדר להשתמש בסכימה גרביים5h://. זה גם פגיע אם curl מבוצע עם משתני הסביבה המושפעים.

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

סרוק את הסביבה לאיתור מערכות פגיעות

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

הפקודות הבאות מזהות אילו גרסאות של curl מותקנות:

לינוקס/MacOS:

find / -name curl 2>/dev/null -exec echo "נמצא: {}" ; -exec {} --גרסה ;

Windows:

Get-ChildItem -Path C: -Recurse -ErrorAction SilentlyContinue -Filter curl.exe | ForEach-Object { Write-Host "נמצא: $($_.FullName)"; & $_.FullName --version }

ל-GitHub יש א שאילתה להרצה ב-Defender for Endpoint כדי לזהות את כל ההתקנים בסביבה שבהם מותקנים curl או משתמשים בהם. Qualys פרסמה את הכללים שלה על השימוש בפלטפורמה שלה.

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

כדי למצוא מאגרים קיימים:

docker scout repo enable --org /scout-demo

כדי לנתח תמונות מיכל מקומי:

מדיניות docker scout [IMAGE] --org [ORG]

נושא זה מדגיש את החשיבות של מעקב קפדני אחר כל תוכנות הקוד הפתוח בשימוש בארגון, לדברי הנריק פלייט, חוקר אבטחה ב-Endor Labs.

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

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

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

דרך אחת לעקיפת הבעיה עד שניתן יהיה לפרוס את העדכונים היא לאלץ את curl להשתמש בפתרון שם מארח מקומי בעת חיבור ל-Proxy SOCKS5, על פי מזרחי של JFrog. תחביר זה משתמש בסכימת socks5 ולא socks5h: curl -x socks5://someproxy.com. בספרייה, החלף את משתנה הסביבה CURLPROXY_SOCKS5_HOSTNAME עם CURLPROXY_SOCKS5.

לדברי בנג'מין מאר, מהנדס אבטחה ב פולש, צוותי אבטחה צריכים לעקוב אחר דגלי תלתל עבור מחרוזות גדולות מדי, שכן זה יצביע על כך שהמערכת נפגעה. הדגלים הם –socks5-hostname, או -פרוקסי or -פרה-פרוקסי מוגדר להשתמש בסכימה גרביים5h://.

בול זמן:

עוד מ קריאה אפלה