آسیب‌پذیری‎های نرم‌افزار ۷-ZIP

نرم‌افزار ۷-Zip یک نرم‌افزار متن باز برای بایگانی کردن پرونده‌ها است که قابلیت انتخابی AES-۲۵۶ را ارائه کرده و از پرونده‎های حجیم پشتیبانی می‌کند و قادر است از «همه‌ی روش‎های فشرده‌سازی، تبدیل و یا رمزنگاری» استفاده کند. محققان مرکز سیسکو تالوس چند آسیب‌پذیری قابل بهره‌برداری را در ۷-Zip کشف کرده‌اند. این نوع از آسیب‌پذیری‌ها به ویژه از این جهت حائز اهمیت است که خود سازندگان آگاه نیستند که از کتابخانه‌های آلوده استفاده می‌کنند. این موضوع موجب نگرانی خاصی به ویژه در مورد دستگاه‌های امنیتی و یا ضدبدافزارها می‌شود. این نرم‌افزار تقریباً در همه‌ی بسترها پشتیبانی می‌شود و امروزه به عنوان یکی از محبوب‌ترین ابزارهای بایگانی کننده، مورد استفاده قرار می‌گیرد. کاربران ممکن است تعجب کنند اگر ببینند که چه تعداد از محصولات و دستگاه‌ها در اثر آن آلوده شده‌اند.

آسیب‌پذیری خواندن خارج از محدوده (CVE-۲۰۱۶-۲۳۳۵)
آسیب‌پذیری خواندن غیرمنتظره اطلاعات در روش مدیریت پرونده‎های UDF توسط ۷-زیپ وجود دارد. سامانه پرونده UDF برای این ایجاد شده که قالب پرونده ISO-۹۶۶۹ را جایگزین کند و در نهایت به یک سامانه پرونده رسمی برای تصاویر و صوت دی‌وی‌دی تبدیل شود.
مرکز پردازش ۷-زیپ از پرونده‎های UDF روش CInArchive::ReadFileItem است. چون فضای ذخیره‎سازی می‌تواند بیش از یک نقشه پارتشین‌بندی داشته باشد، اشیاء آن‎ها در یک بردار شیء نگهداری می‌شوند. برای شروع به بررسی یک مورد، این روش تلاش می‌کند تا شیء مناسب را با استفاده از بردار شیء نقشه و فیلد “PartitionRef” از توصیف‎گر تخصیص طولانی ارجاع دهد. عدم بررسی اینکه فیلد «PartitionRef» بزرگ‎تر از میزان دسترسی اشیاء نقشه پارتیشن است یا خیر، موجب می‌شود که یک خواندن خارج از محدوده صورت گیرد و در برخی از شرایط باعث شود که یک کد دلخواه اجرا گردد.
کد آسیب‌پذیری:

این آسیب‌پذیری می‌تواند به وسیله هر کدام از ورودی‌هایی که شامل یک توصیف‌‎گر تخصیص طولانی ناقص باشند، راه‎اندازی شود. همچنان‎که در خط‌های ۸۹۸-۹۰۵ از کد بالا می‌بینید، این برنامه به دنبال عناصری از یک حجم مشخص است و تنظیم پرونده بر پایه توصیف‌‎گر تخصیص طولانی RootDirCB شروع می‌شود. این رکورد می‌تواند عمداً برای اهداف مخرب، به صورت ناقص برنامه‌ریزی شود. آسیب‌پذیری در خط ۳۹۲ نمایان می‌شود، جایی که فیلد PartitionRef از تعداد عناصر بردار PartitionMaps فراتر می‌رود.

آسیب‌پذیری سرریز پشته (CVE-۲۰۱۶-۲۳۳۴)
آسیب‌پذیری سرریز پشته قابل بهره‌برداری در روش عملکرد Archive::NHfs::CHandler::ExtractZlibFile در ۷-زیپ وجود دارد. در سامانه پرونده HFS+،‌ پرونده‌ها می‌توانند در شکل فشرده با استفاده از zlib ذخیره شوند. سه روش مختلف برای نگهداشتن داده‌ها در این شکل بسته به اندازه‌ی داده‌ها وجود دارد.
اندازه‌ی قطعه داده‌ها و حجم‌های اضافه شده‌ی آن‎ها، در یک جدول درست بعد از resource fork header نگهداری می‌شود. قبل از فرایند بیرون آوردن از حالت فشرده، روش ExtractZlibFile اندازه قطعه و حجم اضافه شده‌ی آن را از پرونده می‌خواند. پس از آن، قطعه داده را در داخل بافر با اندازه‌ی ایستا می‌خواند. هیچ نوعی از بررسی در اینجا صورت نمی‌گیرد که آیا اندازه‌ی قطعه بزرگ‎تر از بافر «Buf» است یا خیر و همین موضوع می‌تواند منجر به ایجاد اندازه قطعه ناقص شده که از اندازه buf ذکر شده فراتر می‌رود. این کار می‌تواند سبب شود که یک سرریز پشته ایجاد شده و بدنبال آن خرابی پشته رخ دهد.

نتیجه‌گیری
متأسفانه بسیاری از آسیب‌پذیری‌ها امنیتی از نرم‌افزارهایی ناشی می‌شوند که موفق به اعتبارسنجی داده‌های ورودی خود نمی‌شوند. هر دو آسیب‌پذیری موجود در ۷-زیپ، از اعتبارسنجی ناقص ورودی‌ها ناشی می‌شود. به دلیل اینکه داده‌ها می‌توانند از منابعی که به صورت بالقوه غیرقابل اطمینان هستند، وارد شوند، اعتبارسنجی ورودی داده‌ها، موضوعی مهم برای امنیت همه‌ی برنامه‌های کاربردی است.
تالوس با ۷-زیپ مشغول به کار است تا این آسیب‌پذیری را مسئولانه آشکار کرده و سپس وصله کند. از کاربران خواسته شده است تا نسخه‌های آسیب‌پذیر ۷-زیپ را به آخرین نسخه‌های یعنی ۱۶.۰۰ در اولین فرصت ممکن ارتقاء دهند.

منبع: asis

درباره نماد امنیت وب

“نماد امنیت وب” به عنوان یکی از شرکت های پیشتاز در زمینه امنیت نرم افزار و سرویس های تحت وب، با ارائه سرویس های امنیتی برای تمامی کسب و کار ها و دارای نمایندگی شرکت Acunetix (اکوانتیکس) بعنوان محبوب ترین اسکنر امنیتی black box در دنیا، ایمنی وب سایت شما را در مقابل حمله هکر ها تضمین می کند.