نظرة عامة
| المعلومة | القيمة |
|---|---|
| رقم CVE | CVE-2026-14266 |
| نوع الثغرة | تجاوز سعة كومة الذاكرة (Heap-Based Buffer Overflow) |
| الخطورة | High — CVSS 7.0 (AV:L/AC:H/PR:N/UI:R/S:U/C:H/I:H/A:H) |
| البرنامج المتأثر | 7-Zip، كل الإصدارات قبل 26.02 |
| أقدم إصدار مؤكد تأثره | 21.07 (سنة 2021) |
| يحتاج تفاعل من المستخدم؟ | نعم — لازم يفتح المستخدم أرشيف XZ مُعدّ خصيصًا |
| حالة التصحيح | متوفر منذ 25 يونيو 2026 (الإصدار 26.02) |
| توفر كود استغلال (PoC) | لا يوجد حتى تاريخ نشر الخبر (20 يوليو 2026) |
ملاحظة على درجة CVSS: رقم 7.0 من أصل 10 يصنَّف “عالي الخطورة” (High) — مو أعلى تصنيف ممكن (Critical يبدأ من 9.0)، لكنه يبقى مستوى يستحق التصحيح الفوري، خصوصًا إنه بيؤدي لتنفيذ أوامر برمجية.
ما هي المشكلة بالضبط؟
7-Zip من أشهر برامج ضغط وفك ضغط الملفات مفتوحة المصدر، ومدعوم بصيغ ضغط متعددة من ضمنها XZ — صيغة ضغط معروفة بكفاءتها العالية بتقليل حجم الملفات. المشكلة موجودة تحديدًا بجزء من الكود مسؤول عن فك ضغط أرشيفات XZ، داخل دالة تسمى MixCoder_Code بملف المصدر C/XzDec.c.
السبب الجذري
لفهم المشكلة، لازم تعرف مفهوم بسيط: أي دالة تكتب بيانات بالذاكرة لازم تعرف كم مساحة متبقية لها بالمخزن المؤقت (buffer) قبل ما تكتب، وإلا بتكتب خارج حدوده وتُتلف بيانات مجاورة — وهذا يُسمى “تجاوز سعة” (Buffer Overflow).
بحالة 7-Zip، الدالة المسؤولة عن فك ضغط XZ كانت تُعطى الطول الكامل للمخزن المؤقت بكل مرة تُستدعى فيها، بدل “المساحة المتبقية فعليًا بعد الكتابات السابقة”. يعني لو الدالة كتبت جزء من البيانات، ثم استُدعيت مرة ثانية لتكتب جزء إضافي، هي كانت تفترض إنه عندها مساحة المخزن الكاملة من جديد — بينما فعليًا جزء منه أصبح مستخدَم أصلًا. النتيجة: كتابة خارج حدود المخزن المؤقت المخصص، وهذا بالضبط تعريف تجاوز سعة الكومة (Heap Overflow).
كيف تُستغل؟
المهاجم يُعدّ أرشيف XZ خبيث بعناية بحيث يستغل هذا الخلل بالحساب. لما الضحية يفتح هذا الأرشيف (سواء عبر برنامج 7-Zip مباشرة، أو أي برنامج آخر يعتمد على مكتبته لفك الضغط)، تبدأ عملية الفك، وأثناءها يحصل تجاوز السعة الذي يسمح للمهاجم بتنفيذ كود برمجي “في سياق العملية الحالية” — يعني بنفس صلاحيات المستخدم اللي فتح الملف.
نقطة مهمة: هذه الثغرة تحتاج تفاعل من المستخدم (فتح الملف) ووصول محلي (Local، مو عن بُعد مباشرة) — يعني ناقل الهجوم الأساسي هو إقناع الضحية يفتح أرشيفًا خبيثًا، سواء عبر مرفق بريد إلكتروني، رابط تحميل، أو صفحة ويب. هذا نمط هجوم شائع جدًا (Social Engineering + ثغرة تقنية)، ولا يقلل من خطورته — بالعكس، الأرشيفات المضغوطة غالبًا تمر بسهولة عبر فلاتر البريد الإلكتروني مقارنة بملفات تنفيذية مباشرة.
كيف تم إصلاحها؟
الإصدار 26.02 من 7-Zip يعالج المشكلة بمنطق بسيط لكنه دقيق: الكود صار يطرح عدد البايتات المكتوبة مسبقًا من الحساب، ويتحقق إنه المجموع التراكمي لا يتجاوز أبدًا سعة المخزن المؤقت الفعلية — بمعنى آخر، صار يحسب المساحة المتبقية الحقيقية بدل افتراض إنه المخزن فاضي بالكامل بكل استدعاء.
هل توجد أداة استغلال متاحة؟
لا. حتى تاريخ نشر الخبر (20 تموز/يوليو 2026)، لا يوجد كود إثبات مفهوم (PoC) علني ولا أي دليل على استغلال فعلي بالواقع. هذا لا يعني إنك تتجاهل التصحيح — فقط يعني إنه لا يوجد ضغط زمني طارئ متل ما بيصير مع ثغرات فيها PoC منشور فعليًا.
كيف تحمي نفسك؟
- حدّث 7-Zip فورًا للإصدار 26.02 أو أحدث — الحل الوحيد الكامل.
- لا تفتح أرشيفات XZ من مصادر غير موثوقة، حتى لو وصلتك من جهة تبدو شرعية (البريد الإلكتروني يمكن انتحاله).
- لو عندك أنظمة تستخدم مكتبة 7-Zip بشكل آلي (مثلًا سكربتات معالجة ملفات على خوادم)، تأكد من تحديثها أيضًا — مو بس نسخة سطح المكتب.
ملاحظات
- الخبر الأصلي كتبته الصحفية Swati Khandelwal على The Hacker News بتاريخ 20 تموز/يوليو 2026.
- المقال الأصلي أشار لثغرة أخرى ذات صلة برقم CVE-2026-48095 (خطورة أعلى، بمعالج NTFS)، حصلت على كود استغلال فعلي بتاريخ 22 مايو 2026. إصدار 7-Zip 26.02 يعالج مشاكل أمان الذاكرة الحديثة بشكل شامل، مو بس هذي الثغرة تحديدًا.
- أقدم إصدار مؤكد تأثره بالمشكلة يرجع لسنة 2021 (الإصدار 21.07) — يعني الثغرة كانت موجودة لسنوات قبل اكتشافها وتصحيحها.
المصدر
المقال الأصلي: New 7-Zip Vulnerability Could Let Crafted XZ Archives Run Code During Extraction