چکیده

آسیب‌پذیری Integer Overflow در سرویس SYSTEM نرم‌افزار Sandboxie (SbieSvc.exe، نسخه‌های 1.16.6 و پایین تر) در تابع SbieIniServer::RC4Crypt، با ارسال value_len بزرگ توسط مهاجم درون sandbox، باعث تخصیص بافر کوچک‌تر و Heap Overflow می‌شود؛ این امر امکان فرار از sandbox و اجرای کد دلخواه با سطح دسترسی SYSTEM و کنترل کامل سیستم میزبان را فراهم می‌کند.

توضیحات

آسیب‌پذیری CVE-2025-64721 در سرویس سطح SYSTEM نرم‌افزار Sandboxie و به‌طور مشخص در فرآیند SbieSvc.exe که مسئول اعمال سیاست‌های ایزوله‌سازی و مدیریت تعامل بین محیط سندباکس و سیستم‌عامل میزبان است، ناشی از سرریز یا چرخش عدد صحیح (Integer Overflow / Wraparound) مطابق با CWE-190 می‌باشد. این سرویس نقش هسته مرکزی اجرای سیاست‌های ایزوله‌سازی Sandboxie را بر عهده دارد و از طریق رابط‌های ارتباطی داخلی، درخواست‌های فرآیندهای sandboxed را دریافت و پردازش می‌کند.

ریشه این ضعف در تابع SbieIniServer::RC4Crypt واقع در فایل core/svc/sbieiniserver.cpp قرار دارد.

این تابع پردازش و رمزنگاری داده‌های پیکربندی مبتنی بر RC4 را از طریق رابط IPC برای فرآیندهای داخل sandbox انجام می‌دهد.

این مسیر ارتباطی از طریق شناسه پیام MSGID_SBIE_INI_RC4_CRYPT قابل فراخوانی است و به فرآیندهای sandboxed اجازه می‌دهد داده‌هایی با طول کنترل‌شده به سرویس SYSTEM ارسال کنند.

این ضعف در فرآیند محاسبه اندازه بافر پاسخ به داده‌های ورودی فرآیند sandboxed ایجاد می‌شود؛ جایی که اندازه نهایی بافر به‌صورت rpl_len = sizeof(SBIE_INI_RC4_CRYPT_RPL) + req->value_len محاسبه می‌گردد. این محاسبه بدون هرگونه کنترل سرریز عدد صحیح انجام می‌شود. با توجه به اینکه مقدار ‎value_len‎ یک عدد 32 بیتی بوده و مستقیماً توسط فرآیند اجراشده در محیط ایزوله از طریق رابط IPC تعیین می‌شود، مهاجم می‌تواند مقدار بسیار بزرگی مانند 0xFFFFFFF0 را ارسال کند. در این شرایط، عملیات جمع در فضای عددی 32 بیتی دچار چرخش عددی شده (wraparound) و مقدار نهایی به عددی بسیار کوچک (برای مثال 0x10) تبدیل می‌شود. در نتیجه، سرویس یک بافر با اندازه‌ای به‌مراتب کوچک‌تر از مقدار واقعی داده تخصیص می‌دهد.

پس از این تخصیص نادرست، سرویس داده‌ی کنترل‌شده توسط مهاجم (req->value) را با فرض اندازه واقعی درون این بافر کوچک کپی می‌کند که مستقیماً منجر به سرریز هیپ (Heap Overflow) در فرآیند SbieSvc.exe می‌شود. از آنجا که این فرآیند با سطح دسترسی SYSTEM اجرا می‌شود، این سرریز می‌تواند برای بازنویسی ساختارهای حساس حافظه، تخریب متادیتای هیپ، تزریق شل‌کد یا تغییر مسیر اجرای برنامه مورد سوءاستفاده قرار گیرد.

در نتیجه، یک فرآیند اجراشده در محیط ایزوله می‌تواند از این ضعف برای فرار کامل از سندباکس، افزایش سطح دسترسی و در سناریوهای پیشرفته، اجرای کد دلخواه با سطح دسترسی SYSTEM و تصاحب کامل میزبان استفاده کند. کد اثبات مفهومی (PoC) منتشر شده برای این آسیب‌پذیری نشان می‌دهد که بهره‌برداری حداقلی به‌صورت قابل اطمینان منجر به انکار سرویس (DoS) می‌شود و هم‌زمان ثابت می‌کند که مکانیزم پایه لازم برای بهره‌برداری‌های پیچیده‌تر و اجرای کد نیز وجود دارد، هرچند توسعه اکسپلویت پایدار نیازمند تکنیک‌های پیشرفته بهره‌برداری از هیپ است.

این آسیب‌پذیری تمامی نسخه‌های Sandboxie تا 1.16.6 و پایین‌تر را تحت تأثیر قرار می‌دهد و با انتشار نسخه 1.16.7 به‌طور کامل پچ شده است. در نسخه پچ‌شده، بررسی‌های لازم برای جلوگیری از سرریز عدد صحیح اضافه شده و فرآیند تخصیص حافظه به‌صورت ایمن انجام می‌شود تا از بروز هرگونه چرخش عددی و سرریز حافظه جلوگیری گردد.

CVSS

Score Severity Version Vector String
9.9 CRITICAL 4.0 CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:N/VC:H/VI:H/VA:H/SC:H/SI:H/SA:N

لیست محصولات آسیب پذیر

Versions Product
affected at < 1.16.7 Sandboxie

لیست محصولات بروز شده

Versions Product
1.16.7 Sandboxie

استفاده محصول در ایران

در این جدول، تعداد صفحات ایندکس‌شده در گوگل با دامنه .ir که Sandboxie را ذکر کرده اند، ثبت شده است. این داده صرفاً برای برآورد تقریبی حضور محصولات در وب ایران استفاده شده و نمایانگر میزان نصب دقیق و استفاده واقعی نیست.

Approx. Usage in .ir Domain via Google

(Total Pages)

Search Query (Dork) Product
7,120 site:.ir “Sandboxie” Sandboxie

نتیجه گیری

این آسیب‌پذیری با شدت بحرانی در نرم‌افزار Sandboxie امکان فرار کامل از محیط ایزوله (Sandbox Escape) و کسب سطح دسترسی SYSTEM را فراهم می‌کند. با توجه به انتشار کد اثبات مفهومی عمومی و امکان ایجاد انکار سرویس (DoS)، ریسک بهره‌برداری عملی از این ضعف بسیار بالا است؛ به‌ویژه در سناریوهایی که کاربران بدافزارها یا فایل‌های غیرقابل اعتماد را در محیط ایزوله اجرا می‌کنند. بر این اساس، برای جلوگیری از سوءاستفاده و کاهش سطح ریسک، اجرای اقدامات زیر توصیه می‌شود:

  • به‌روزرسانی فوری: نرم افزار Sandboxie را در اسرع وقت به نسخه 16.7 یا بالاتربه روزرسانی کنید. این اقدام اصلی‌ترین، ساده‌ترین و مؤثرترین راهکار برای رفع کامل آسیب‌پذیری است و باید در اولویت قرار گیرد. سایر اقدامات نقش مکمل را دارند و می‌توانند به کاهش ریسک این آسیب پذیری و مقابله با حملات مشابه کمک کنند.
  • غیرفعالسازی موقت RC4Crypt: غیرفعال‌سازی موقت قابلیت‌های وابسته به RC4Crypt در فایل‌های پیکربندی با فرمت ini می‌تواند سطح حمله را کاهش دهد، اما به‌دلیل در دسترس بودن تابع آسیب‌پذیر از طریق رابط IPC، این اقدام صرفاً یک راهکار موقتی و مکمل است و به‌هیچ‌وجه جایگزین اعمال پچ امنیتی رسمی نمی‌شود.
  • محدودسازی فرآیندهای داخل سندباکس: با استفاده از پیکربندی امنیتی Sandboxie، دسترسی ارتباط بین‌فرآیندی (IPC) به سرویس‌های سیستمی را محدود کرده و گزینه‌هایی مانند RestrictServices یا ForceDisableAdminOnly را فعال کنید تا سطح تعامل فرآیندهای ایزوله با سرویس‌های حساس کاهش یابد.
  • نظارت و ثبت لاگ: لاگ‌های Sandboxie و ابزار نمایش رویدادهای ویندوز (Windows Event Viewer) را برای شناسایی کرش‌های غیرعادی فرآیند exe یا عملکردهای مشکوک به‌صورت مستمر نظارت کنید.
  • استفاده از لایه‌های امنیتی اضافی: Sandboxie را در کنار آنتی‌ویروس‌های به‌روز مانند Microsoft Defender با قابلیت محافظت در برابر دستکاری (Tamper Protection) فعال، فایروال مناسب و ابزارهای پاسخ و شناسایی تهدید در اندپوینت (EDR) اجرا کنید.
  • تست و اعتبارسنجی پس از به‌روزرسانی: پس از نصب نسخه پچ‌شده، می‌توان از PoC عمومی برای اطمینان از عدم کرش سرویس و رفع کامل آسیب‌پذیری استفاده کرد.
  • آموزش کاربران: کاربران را نسبت به این نکته آگاه کنید که اجرای برنامه‌ها در محیط ایزوله به‌تنهایی تضمین‌کننده امنیت کامل نیست و استفاده از نسخه‌های به‌روز نرم‌افزارهای امنیتی همواره ضروری است.

در مجموع، اجرای سریع به‌روزرسانی به همراه اقدامات تکمیلی، ریسک فرار از محیط ایزوله و تصاحب کامل سیستم را به‌طور قابل‌توجهی کاهش داده و سطح امنیت مکانیزم ایزوله‌سازی Sandboxie را به طور قابل توجهی افزایش می‌دهد.

امکان استفاده در تاکتیک های Mitre Attack (در زمان اجرای حمله)

Execution (TA0002)

مهاجم درون محیط sandbox با ارسال مقدار value_len بسیار بزرگ از طریق رابط IPC به تابع SbieIniServer::RC4Crypt، باعث Integer Overflow و تخصیص بافر کوچک‌تر می‌شود که منجر به Heap Overflow در سرویس SbieSvc.exe با سطح SYSTEM شده و اجرای کد دلخواه را در فرآیند SYSTEM فراهم می‌کند، مشروط بر اینکه مهاجم قبلاً فرآیند مخربی را در sandbox اجرا کرده باشد.

(TA0004): Privilege Escalation

پس از ایجاد Heap Overflow از طریق سرریز عددی در محاسبه rpl_len تابع RC4Crypt، مهاجم ساختارهای حافظه حساس سرویس SYSTEM را بازنویسی کرده و جریان اجرا را به شل‌کد تزریق‌شده هدایت می‌نماید تا سطح دسترسی از sandboxed process به SYSTEM افزایش یابد، که این امر نیازمند کنترل دقیق payload برای bypass ASLR و DEP در سناریوهای واقعی است.

(TA0003) Persistence

مهاجم با بهره‌برداری از Heap Overflow ناشی از Integer Overflow، سرویس SbieSvc.exe را با کد مخرب آلوده کرده و مکانیزم‌های خود-راه‌اندازی مانند سرویس‌های ویندوز یا task scheduler را برای حفظ دسترسی SYSTEM پس از ریبوت نصب می‌کند، به شرطی که sandbox در حال اجرا باشد و مهاجم دسترسی اولیه به اجرای فرآیند درون آن داشته باشد.

(TA0001) Initial Access

فرآیند مخرب درون sandbox با ارسال value_len بزرگ به MSGID_SBIE_INI_RC4_CRYPT، Heap Overflow ایجاد کرده و از sandbox فرار می‌کند تا دسترسی اولیه به سیستم میزبان با سطح SYSTEM به دست آورد، مشروط بر وجود فرآیند آلوده اولیه در sandbox که توسط مکانیزم‌های sandboxing مجاز باشد.

(TA0006) Credential Access

پس از فرار از sandbox و اجرای کد SYSTEM از طریق Heap Overflow، مهاجم credentialهای ذخیره‌شده مانند SAM hashes، LSA secrets یا tokenهای فرآیندهای دیگر را استخراج می‌کند، که این امر در محیط‌های domain-joined نیازمند دسترسی به registry یا memory dumping است.

(TA0007) Discovery

مهاجم پس از افزایش privilege به SYSTEM، از طریق Heap Overflow اطلاعات سیستم میزبان مانند لیست فرآیندها، شبکه‌ای، کاربران و سرویس‌ها را enumerate می‌کند، که نیازمند اجرای API calls مانند Win32 APIs در context sandbox escape است.

 

(Impact) TA0040: پیامد شامل توسعه منابع مخرب، دسترسی به حساب‌ها، دستکاری داده‌ها و دستیابی به اهداف تأثیرگذاری می‌شود؛ مهاجم کنترل کامل میزبان را کسب کرده، داده‌ها را افشا یا تغییر می‌دهد، دسترسی‌های مدیریتی را مختل می‌کند و زیرساخت‌های مخرب مستقر می‌سازد، که این وضعیت تا اعمال پچ نسخه 1.16.7 پایدار باقی می‌ماند.

منابع

  1. https://www.cve.org/CVERecord?id=CVE-2025-64721
  2. https://www.cvedetails.com/cve/CVE-2025-64721/
  3. https://github.com/sandboxie-plus/Sandboxie/security/advisories/GHSA-w476-j57g-96vp
  4. https://vulmon.com/vulnerabilitydetails?qid=CVE-2025-64721
  5. https://vuldb.com/?id.335982
  6. https://github.com/sandboxie-plus/Sandboxie/commit/000492f8c411d24292f1b977a107994347bc7dfa
  7. https://github.com/sandboxie-plus/Sandboxie/releases/tag/v1.16.7
  8. https://nvd.nist.gov/vuln/detail/CVE-2025-64721
  9. https://cwe.mitre.org/data/definitions/190.html

دیدگاهتان را بنویسید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *