یک محقق امنیتی به نام رابین(با نام کاربری گیت هاب D4mianWayne) اخیراً جزئیات و کد PoC (اثبات مفهومی) یک آسیبپذیری تزریق XXE (XML external entity) را فاش کرده است. این آسیبپذیری که با شناسه CVE-2024-53675 ثبت شده و امتیاز 7.3 CVSS دریافت کرده است، بر نرم افزار Insight RS متعلق به شرکت HPE تأثیر میگذارد. مهاجمان میتوانند بدون نیاز به احراز هویت، از این نقص برای افشای اطلاعات حساس استفاده کنند.
HPE Insight Remote Support یک راهکار نظارتی و پشتیبانی از راه دور است که بهطور گسترده در محیطهای سازمانی برای پشتیبانی پیشگیرانه و واکنشی از سرورها، تجهیزات ذخیرهسازی و دستگاه های شبکه استفاده میشود. این نرمافزار با تشخیص خرابیهای سختافزاری و ارسال خودکار اعلانهای خدماتی به HPE، باعث بهبود در دسترسپذیری سیستمها(availability) میشود.
جزییات فنی آسیبپذیری CVE-2024-53675
این نقص امنیتی در متد validateAgainstXSD قرار دارد که به درستی محدودیتهای لازم برای جلوگیری از ارجاعات XXE را اعمال نمیکند. طبق گزارش ZDI (Zero Day Initiative)، این ضعف به مهاجمان اجازه میدهد تا ارجاعات خارجی مخرب را در اسناد XML قرار داده و از این طریق به دادههای حساس دسترسی غیرمجاز پیدا کنند. این ارجاعات به مهاجم اجازه میدهند که از طریق یک فایل XML مخرب، دادههای داخلی یک سیستم را افشا کند یا به منابع خاصی در سرور دسترسی پیدا کند.
روش حمله به این صورت است که یک سند XML دستکاریشده به سیستم هدف ارسال میشود. پارسر XML، که بهدرستی کنترل نشده است، میتواند یک URI خارجی مشخصشده توسط مهاجم را پردازش کرده و محتوای آن را در سند XML جاسازی کند. این امر باعث میشود مهاجم به فایلهای موجود در حساب کاربری SYSTEM دسترسی پیدا کند.
PoC و محدودیتهای اکسپلویت
رابین یک اثبات مفهومی (PoC) منتشر کرده که نشان میدهد چگونه CVE-2024-53675 میتواند مورد سوءاستفاده قرار گیرد.
این آسیبپذیری همانطور که ذکر شد، یک آسیبپذیری XXE بدون احراز هویت است. مشکل از تابعی به نام validateAgainstXSD
ناشی میشود که متعلق به کتابخانهی uacore
است. این کتابخانه شامل چندین تابع کمکی است که یکی از آنها validateAgainstXSD
میباشد.
در درخواست ثبت دستگاه (SOAP Request)، پارامتر identifier
انتظار دارد که محتوای XML دریافت کند. این داده بعداً به کلاس RegisterDeviceHelper.java
در مسیر com\hp\it\sa\helpers
ارسال میشود که تابع validateDeviceIDsXML
را اجرا میکند. این تابع نیز محتوای XML را به validateAgainstXSD
ارسال میکند. همانطور که مشخص است، تابع validateAgainstXSD
هیچ قوانین از پیش تعریفشدهای برای مسدودسازی DTDها و موجودیتها (Entities) ندارد.
این PoC شامل:
- میزبانی یک فایل DTD (مخفف Document Type Definition) مخرب
محتوای فایل DTD تست شده در PoC:
">
%eval;
%exfiltrate;
- ارسال یک پیلود ساختگی که محتویات یک فایل خاص را بازیابی کرده و آن را به شنودگر (Listener) مهاجم ارسال میکند.
در نتیجه، خروجی نشان داده شده، محتوای فایل hello.txt است:

با این حال، این اکسپلویت یک محدودیت مهم دارد. به دلیل مشکلات در پردازش کاراکترهای خط جدید(newline) کتابخانه مورد استفاده در Insight RS فقط اولین خط از فایل را ارسال میکند.
هرچند مهاجمان میتوانند با استفاده از روش های دیگر مانند ارسال درخواستهای متوالی، کل فایل را استخراج کرده یا اطلاعاتی در مورد اهداف حمله بعدی جمعآوری کنند.
اقدامات HPE برای رفع آسیبپذیری
شرکت HPE بهسرعت برای رفع این مشکل اقدام کرده و نسخه Insight Remote Support v7.14.0.629 را منتشر کرده است. این نسخه شامل پچ های امنیتی برای تمام آسیبپذیریهای شناساییشده است. HPE اکیداً توصیه میکند کاربران فوراً Insight RS خود را بهروزرسانی کنند تا از خطر بهرهبرداری جلوگیری شود.
منابع: