کشف دو آسیب‌پذیری در نرم‌افزار Grafana

کشف دو آسیب‌پذیری در نرم‌افزار Grafana

تاریخ ایجاد

نرم‌افزار grafana یک ابزار متن‌باز برای تحلیل و بررسی پایگاه‌داده و رصد سیستم است. این نرم‌افزار می‌تواند متریک‌ها را خوانده و آنها را در قالب نمودارهایی کارآمد نمایش دهد. به صورت کلی این نرم‌افزار، مرکزی برای جمع‌آوری داده‌ها است. می‌توان سامانه‌ها، تجهیزات و سیستم‌ها را توسط سایر ابزارها جمع آوری کرده و در یک پنل درکنار یکدیگر قرار داد.
این نرم‌افزار از معیارهای ویرایشگر نمودار برای Graphite، Elasticsearch، OpenTSDB، Prometheus و InfluxDB برخوردار می‌باشد. به عنوان مثال، هنگامی که از InfluxDB به عنوان منبع داده خود استفاده می‌کنید، داده‌های ذخیره شده در InfluxDB با استفاده از Grafana Graphs تجسم می‌شوند.
دو آسیب‌پذیری با شدت‌های متوسط و بالا در دو افزونه‌ی نرم‌افزار Grafana کشف شده‌اند. شناسه و شرح هریک از این آسیب‌پذیری‌ها به شرح ذیل است:
1.    CVE-2023-5122: آسیب‌پذیری جعل درخواست از سمت سرور است که به افزونه‌ی CSV datasource مربوط می‌شود و شدت متوسط و امتیاز CVSS 5.0 را به خود اختصاص می‌دهد. این افزونه امکان بازیابی و پردازش داده‌های CSV از راه دور که توسط یک ادمین پیکربندی شده ‌است را فراهم می‌کند.
«CSV» مخفف عبارت «Comma Separated Values» و به معنای «مقادیر جدا شده با ویرگول» است. اینگونه فایل‌ها در واقع نوعی فایل خام متنی هستند که شامل لیستی از داده‌ها می‌شوند. به صورت رایج فایل‌های یاد شده برای جابه‌جایی داده‌ها بین نرم‌افزارهای متفاوت مورد استفاده قرار می‌گیرند.
اگر این افزونه به نحوی پیکربندی شده‌ باشد که درخواست‌هایی بدون مسیر را برای یک میزبان ساده ارسال کند، مانند (https://www.example.com/ https://www.example.com/` )، درخواست‌های ارسالی به یک  endpoint(نقطه پایانی) غیر از آن که توسط ادمین تعیین شده باشد، می‌توانند توسط هر کاربر با هر سطح دسترسی به یک درخواست جعلی دیگر تغییر یابند و این امر منجر به اجرای حمله‌ی SSRF می‌شود.
2.    CVE-2023-5123: این نقص امنیتی پیمایش مسیر که به افزونه JSON datasource بازمی‌گردد، دارای شدت بالا و امتیاز CVSS 8.0 می‌باشد که امکان بازیابی و پردازش داده‌های JSON از یک سیستم از راه دور (از جمله یک مسیر فرعی خاص) را که توسط یک ادمین پیکربندی شده است، فراهم می‌آورد.
در موارد نادری که این افزونه توسط یک ادمین پیکربندی شده باشد تا به خود نمونه Grafana اشاره کند،
به دلیل عدم بررسی و فیلتر مناسب پارامتر مسیر دریافت شده از درخواست داشبورد اصلی، امکان گنجاندن کاراکترهای پیمایش مسیر در پارامتر مسیر و ارسال درخواست به مسیرهای روی سیستم هدف که برای اشاره به مسیری خارج از مسیر اصلی پیکربندی شده باشد وجود دارد. این بدان معنی است که اگر منبع داده توسط ادمین پیکربندی شده باشد تا به مسیر فرعی دامنه اشاره کند، ممکن است یک ویرایشگر یک داشبورد جعلی اشاره‌کننده به یک منبع داده‌ی حاوی کاراکترهای پیمایش مسیر ایجاد کند که موجب می‌شود منبع داده، کوئری‌هایی ارسال کند که به زیرمسیرهای داخلی سیستم هدف برمی‌گردند و موفق به استخراج داده از سیستم هدف شود.
این آسیب‌پذیری به طور قابل توجهی شدیدتر می‌شود، زیرا ادمینی که در حال مرور یک پانل با پیکربندی مخرب است می‌تواند مجبور شود با اطلاعات کاربری خود به نقاط پایانی API مدیریت نرم‌افزار Grafana درخواست ارسال کند که همین امر، منجر به افزایش سطح دسترسی می‌شود، و به همین دلیل این آسیب‌پذیری شدت بالایی پیدا می‌کند.
 

توصیه‌های امنیتی
1.    CVE-2023-5122: ارتقاء افزونه‌ی CSV به آخرین نسخه: grafana-csv-datasource 0.6.13
2.    CVE-2023-5123: ارتقاء افزونه‌ی JSON datasource به آخرین نسخه:grafana-json-datasource 1.3.11


منابع خبر:


[1] https://nvd.nist.gov/vuln/detail/CVE-2023-5122
[2] https://nvd.nist.gov/vuln/detail/CVE-2023-5123
[3] https://vuldb.com/?id.253838
[4] https://vuldb.com/?id.253836