העדכון שאתם לא יכולים להרשות לעצמכם לדלג עליו: סוף התמיכה ב-Office 2016 ו-Office 2019

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

ניתוח פגיעות CVE-2023-33733 באמצעות MetaDefender Core

עַל יְדֵי OPSWAT
שתף את הפוסט הזה
חוקרי אבטחה מובילים דנים בפגיעות CVE-2023-33733
OPSWAT משתתפי תוכנית המלגות

העלייה המהירה של הטכנולוגיה יצרה ביקוש גבוה למפתחים מיומנים. תוכנה בקוד פתוח (OSS) הפכה לכלי חיוני עבור כוח עבודה הולך וגדל זה. מאות אלפי חבילות OSS מבוססות קיימות כיום בשפות תכנות שונות. למעלה מ-90% מהמפתחים ממנפים רכיבי קוד פתוח אלה בתוך היישומים הקנייניים שלהם, דבר המדגיש את היעילות והצעת הערך של OSS. תוך הדגשת חשיבותו של שוק ה-OSS העולמי צפוי להגיע ל-80.7 מיליארד דולר עד 2030, המשקף קצב צמיחה צפוי של 16.7% בשנה. 

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

במאמר זה, OPSWAT עמיתים לתואר שני בוחנים את CVE-2023-33733 , פרצת אבטחה שהתגלתה בספריית הקוד הפתוח הפופולרית ReportLab. הניתוח שלהם משולב עם מתקפה מדומה הממנפת את MetaDefender Core עם יכולות Software Bill of Materials (SBOM) שלה כדי לזהות פגיעויות בתלויות של יישום, כולל ספריית ReportLab הפגיעה. 

מבוא לספריית Reportlab

איור של ReportLab

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

רקע CVE-2023-33733

CVE-2023-33733 מדגיש פגיעות אבטחה בספריית ReportLab, המשפיעה על גרסאות מרובות של ספריית ReportLab.

  • גרסאות ReportLab קודמות לגרסה 3.6.13 נמצאו פגיעות להתחמקות מארגז חול, במיוחד בתוך הערכה_בטוחה_rl' פונקציה. ניצול הושג באמצעות תכונת הצבע של תגי HTML, אשר הוערכה ישירות כביטוי Python באמצעות הערכה () פונקציה, מה שמוביל בסופו של דבר לביצוע קוד מרחוק. 
  • אנליסטים של NVD העניקו ציון CVSS של 7.8 HIGH ל-CVE-2023-33733. 
חומרת CVSS 3.x ומדדים המציגים ציון בסיס של 7.8 עבור CVE-2023-33733, מסווג כסיכון גבוה.

ניתוח פגיעות האבטחה של ReportLab

OPSWAT עמיתים לתואר שני ביצעו ניתוח מעמיק של זרימת העבודה של ReportLab, וזיהו את שורש פגיעות האבטחה CVE-2023-33733.

זרימת העבודה של ספריית ReportLab 

ReportLab מאפשר למפתחים ליצור קבצי PDF ביעילות. הספרייה מאפשרת אינטגרציה קלה: ייבוא ​​הספרייה, הגדרת תוכן ה-HTML ויצירת קובץ ה-PDF בשורת קוד אחת באמצעות פונקציית result. 

קוד פייתון המדגים יצירת תבנית מסמך פשוטה באמצעות ספריית ReportLab

עמיתינו הבוגרים חשפו תהליך בן 5 שלבים ליצירת קבצי PDF מ-HTML באמצעות ReportLab. 

תרשים הממחיש את זרימת התהליך מ-HTML קלט ל-PDF פלט באמצעות ReportLab ופונקציות נלוות

בתוך תהליך בן 5 השלבים ליצירת קבצי PDF מ-HTML עם ReportLab, בולטים שלושה תהליכים עיקריים: עיבוד פסקאות, עיבוד פאראפרסר ותהליך טיפול ב-HTML. 

צילום מסך של תהליך ניפוי שגיאות המדגיש את טיפול ה-HTML, תהליך הפסקה ותהליך הפראפרסר בסקריפט Python

כפי שמודגם באיור לעיל, תהליך טיפול ה-HTML בתוך ReportLab משתמש ב- הערכה () לתפקד באופן ספציפי על מאפיין צבע. משמש כנקודת מוקד להפעלת קוד זדוני, ה- הערכה () הפונקציה מעודדת חוקרים לחפש שליטה על הקלט שלה כדי לנצל את היישום. עם זאת, זה מאתגר עקב ארגז החול שנאכף על ידי __rl_safe_eval__ פונקציה בתוך ReportLab. 

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

ReportLab יישמה ארגז חול בשם __rl_safe_eval__ארגז חול זה אינו כולל את כל הפונקציות המובנות של Python וכולל מספר פונקציות מובנות עקיפות. הגבלה זו מאפשרת ביצוע קוד בטוח בתוך הספרייה תוך מניעת גישה לפונקציות וספריות מסוכנות שעלולות לשמש למטרות זדוניות (למשל גישה למערכת קבצים, תקשורת רשת). 

ה rl_safe_eval פונקציית ארגז החול מיישמת תנאים שונים כדי להבטיח שהתכונה המופעלת בטוחה לפני השימוש בתכונה המובנה של Python. getattr() פונקציה כדי לאחזר אותה ולהחזיר את התוצאה. 

דוגמת קוד המדגימה פונקציה שבודקת אם שמות מתודות מותרים בהקשר אבטחה

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

בהתבסס על רעיון זה, ניסו חוקרי האבטחה לעקוף את המגבלות. בתחילה הם ניצלו הזרקת אובייקטים באמצעות סוּג() פונקציה לבניית אובייקט ולהגדיר מחדש את התכונות והשיטות שלו כדי לעקוף את הבדיקות שבתוכו __rl_safe_eval__יתר על כן, מכיוון שספריית ReportLab עוקפת פונקציות מובנות והופכת אותן לפונקציות גלובליות בהקשר של eval, החוקר יכול למנף יישום זה כדי לגשת לאחת הפונקציות המובנות המקוריות. זה יכול לאפשר להם לעקוף את סביבת ארגז החול ולהפעיל קוד זדוני. 

קטע קוד המדגים את ההגדרה מחדש של פונקציות מובנות

המטען מוכן באופן הבא: 

דוגמת קוד המציגה מחלקת תוקף וניצול מאפיינים גלובליים

אף על פי כן, ביצוע ביטוי מרובה שורות בתוך הקשר של ערך אינו אפשרי. עם זאת, ניתן להשתמש בטריק הבנת רשימה, והמטען לניצול CVE זה הוא כדלקמן: 

מבנה קוד מורכב הממחיש את ניצול CVE-2023-33733

סימולציית ניצול ReportLab 

חוקרים פרסמו הוכחת היתכנות (POC) עבור CVE-2023-33733, המדגימה כי יישומים שנבנו עם גרסאות פגיעות של ReportLab עלולים להיות פגיעים להתקפות סייבר. כדי להעריך את האיום הפוטנציאלי הזה, בוגרי OSPWAT ביצעו מתקפה מדומה על אפליקציית אינטרנט. הם ניצלו... MetaDefender Core עם יכולות SBOM לזיהוי פגיעויות אבטחה בתוך תלויות תוכנת היישום, כולל נוכחות ספריית ReportLab המושפעת. 

לדמות את פגיעות האבטחה 

כדי לדמות ניצול זה כתרחיש אמיתי, OPSWAT עמיתים מתקדמים פיתחו יישום אינטרנט באמצעות Python והגרסה הפגיעה של ספריית ReportLab. יישום זה מחקה מקרה שימוש טיפוסי: משתמשים יכולים להעלות קובץ HTML ולהמיר אותו לקובץ PDF. 

צילום מסך של ממשק העלאת קבצים זדוני המבקש לעיין בקובץ להעלאה

תוקף עלול ליצור קובץ HTML זדוני המכיל קוד שנועד לנצל CVE-2023-33733קוד זה עלול לעקוף את ארגז החול ולסכן את שרת האינטרנט על ידי הפעלת מעטפת הפוכה דרך ה- הערכה () פוּנקצִיָה.  

קטע קוד המציג מתקפת הזרקת פקודה מתבצעת

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

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

חשיבות SBOM ואבטחה פרואקטיבית 

ה OPSWAT מחקרם של עמיתים לתואר שני בנושא CVE-2023-33733 מדגיש את סיכוני האבטחה הפוטנציאליים הכרוכים ב-OSS. בעוד ש-OSS מציע יתרונות שאין להכחישה מבחינת יעילות פיתוח וחסכון בעלות, פגיעויות כמו זו שנמצאה ב-ReportLab עלולות לחשוף ארגונים להתקפות סייבר. 

OPSWAT SBOM 

OPSWAT SBOM מאבטחת את שרשרת אספקת התוכנה על ידי אספקת מלאי רכיבים מקיף עבור קוד מקור ומכולות. היא תומכת ביותר מ-10 שפות, כולל Java, JavaScript, Go, PHP ו-Python, ביותר מ-5 מיליון רכיבי תוכנה בקוד פתוח של צד שלישי, ומשתמשת במסד נתונים של יותר מ-17,000 פגיעויות שמקורן במסד הנתונים הלאומי של פגיעויות (NVD) ומ-GitHub (GHSA). 

MetaDefender Core לוח מחוונים לאבטחה המציג קובץ חסום וניתוח פגיעויות שלו

OPSWAT MetaDefender Core , עם יכולות SBOM משולבות שלה, מאפשרת לארגונים לטפל באופן יזום בסיכונים אלה. MetaDefender Core סורק יישומי תוכנה ותלויות, ומזהה את נוכחותן של פגיעויות ידועות כמו CVE-2023-33733 בתוך הרכיבים המפורטים. זה מאפשר למפתחים ולצוותי אבטחה לתעדף מאמצי תיקונים ולצמצם סיכוני אבטחה לפני שניתן יהיה לנצל אותם. 

MetaDefender Core לוח מחוונים לאבטחה המציג תוצאות מפורטות של סריקת פגיעויות עבור CVE-2023-33733

מחשבות סיכום

ה OPSWAT מחקרם של עמיתים לתואר שני על פגיעות ReportLab (CVE-2023-33733) משמש כתזכורת חשובה לחשיבותם של אמצעי אבטחה פרואקטיביים במחזור חיי פיתוח התוכנה. על ידי מינוף כלים כמו OPSWAT MetaDefender Core , ארגונים יכולים לקבל תובנות מכריעות לגבי תלויות התוכנה שלהם ולזהות פגיעויות פוטנציאליות לפני שהן מנוצלות על ידי תוקפים. 

יֶתֶר עַל כֵּן, OPSWAT מציעה חבילה מקיפה של פתרונות אבטחת סייבר, מעבר לסריקת פגיעויות. פתרונות אלה מספקים זיהוי איומים בזמן אמת, אבטחת נתונים והגנה על נקודות קצה, ומגנים על ארגונים מפני מגוון רחב של איומי סייבר. על ידי אימוץ גישת אבטחה שכבתית הכוללת כלים כמו MetaDefender Core , ארגונים יכולים למנף את היתרונות של OSS תוך מזעור סיכוני האבטחה הנלווים. 

הישאר מעודכן עם OPSWAT !

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