چکیده

آسیب‌پذیری CVE-2026-14266 از نوع سرریز بافر مبتنی بر Heap در مسیر پردازش داده‌های فشرده‌شده با قالب XZ در نرم‌افزار 7-Zip است. این ضعف امنیتی در بخش فشرده‌زدایی (Decompression) فایل‌های XZ رخ می‌دهد و می‌تواند باعث نوشتن داده خارج از محدوده بافر تخصیص‌یافته در حافظه شود. سوءاستفاده از این آسیب‌پذیری نیازمند باز کردن یا استخراج یک فایل XZ دستکاری‌شده توسط کاربر در نرم‌افزار 7-Zip است. این ضعف امنیتی می‌تواند باعث کرش نرم‌افزار شود و در شرایط خاص، امکان اجرای کد دلخواه (Arbitrary Code Execution) را در زمینه پردازه جاری فراهم کند.

توضیحات

آسیب‌پذیری CVE-2026-14266 از نوع سرریز بافر مبتنی بر Heap (Heap-based Buffer Overflow) مطابق با CWE-122 است که در مسیر پردازش داده‌های فشرده‌شده با قالب XZ در نرم‌افزار 7-Zip وجود دارد. این آسیب‌پذیری به دلیل عدم کنترل صحیح اندازه داده‌های خروجی هنگام پردازش داده‌های فشرده‌شده ایجاد می‌شود و می‌تواند باعث نوشتن داده خارج از محدوده بافر تخصیص‌یافته در حافظه شود.

نرم‌افزار 7-Zip یک ابزار مدیریت فایل و فشرده‌سازی است که برای ایجاد، باز کردن و استخراج فایل‌های آرشیوی با قالب‌های مختلف مورد استفاده قرار می‌گیرد. این آسیب‌پذیری به‌طور مشخص در مسیر پردازش داده‌های بخش‌بندی‌شده XZ (XZ Chunked Data Processing) در رمزگشای قالب XZ (XZ Decoder) و مسیر چندرشته‌ای رمزگشای XZ (Multi-threaded XZ Decoder Path) وجود دارد و به نحوه مدیریت بافر خروجی در تابع MixCoder_Code() از فایل C/XzDec.c مربوط می‌شود.

ریشه اصلی این آسیب‌پذیری به عدم بررسی صحیح مقدار destLen2 پیش از ارسال آن به رمزگشای LZMA2 بازمی‌گردد. در نسخه‌های آسیب‌پذیر، مقدار اندازه داده خروجی بدون تطبیق با ظرفیت باقی‌مانده بافر (outBufSize – outWritten) مورد استفاده قرار می‌گیرد. در نتیجه، هنگام پردازش یک فایل XZ دستکاری‌شده، مهاجم می‌تواند داده‌ای ایجاد کند که باعث شود نرم‌افزار هنگام فشرده‌زدایی، داده‌ای بیشتر از ظرفیت تخصیص‌یافته بافر خروجی در حافظه بنویسد. این شرایط منجر به نوشتن خارج از محدوده (Out-of-Bounds Write) در حافظه Heap شده و می‌تواند داده‌ها یا ساختارهای حافظه مجاور را تحت تأثیر قرار دهد.

این ضعف در مسیر چندرشته‌ای پردازش XZ فعال می‌شود، زیرا در حالت تک‌رشته‌ای (Single-threaded Mode)، نرم‌افزار پیش از فراخوانی بخش آسیب‌پذیر، محدودیت لازم را برای اندازه داده خروجی اعمال می‌کند و از نوشتن داده فراتر از ظرفیت بافر جلوگیری می‌شود. با این حال، در مسیر چندرشته‌ای، شاخه SingleBuf (outBuf) این محدودیت را اعمال نمی‌کند و مقدار اولیه destLenOrig را بدون بررسی کافی به رمزگشای مربوطه منتقل می‌کند. به همین دلیل، نسخه‌های آسیب‌پذیر 7-Zip در شرایطی که پردازش چندرشته‌ای فعال باشد، تحت تأثیر این ضعف امنیتی قرار می‌گیرند.

مهاجم برای سوءاستفاده از این آسیب‌پذیری باید یک فایل XZ دستکاری‌شده ایجاد کرده و کاربر را ترغیب کند آن را با نسخه آسیب‌پذیر 7-Zip باز یا استخراج کند. پردازش این فایل مخرب می‌تواند باعث ایجاد سرریز Heap و در نتیجه کرش نرم‌افزار شود. همچنین بر اساس تحلیل‌های فنی منتشرشده، در شرایط خاص و با توجه به نحوه قرارگیری داده‌ها در حافظه Heap، این سرریز می‌تواند برای تغییر ساختارهای حساس حافظه مورد استفاده قرار گرفته و مسیر اجرای کد دلخواه را برای مهاجم فراهم کند.

بر اساس تحلیل‌های فنی منتشرشده، فایل‌های XZ مخرب می‌توانند با ایجاد داده‌های فشرده‌شده خاص، باعث شوند بخش پردازش LZMA2 داده‌ای بیشتر از ظرفیت تعیین‌شده بافر خروجی در حافظه بنویسد. بررسی‌های انجام‌شده نشان می‌دهد تخصیص‌های کوچک‌تر در محدوده Heap با پراکندگی یا فرگمنتیشن پایین (Low Fragmentation Heap – LFH) شرایط مناسب‌تری برای سوءاستفاده‌های پیشرفته‌تر ایجاد می‌کنند، زیرا داده‌های نوشته‌شده خارج از محدوده بافر ممکن است روی ساختارهای مجاور در Heap قرار گیرند. این شرایط در سناریوهای خاص می‌تواند برای دستکاری ساختارهای حساس حافظه مانند اشاره‌گرهای تابع (Function Pointer) یا ساختارهای مجازی (VTable) مورد استفاده قرار گیرد. همچنین یک کد اثبات مفهوم (PoC) برای این آسیب‌پذیری منتشر شده است که امکان ایجاد فایل XZ مخرب را فراهم می کند.

سوءاستفاده از این آسیب‌پذیری نیازمند دسترسی لوکال و تعامل کاربر است، اما مهاجم برای آغاز حمله به هیچ سطح دسترسی قبلی نیاز ندارد. اگرچه در عنوان آسیب‌پذیری از عبارت اجرای کد از راه دور (RCE) استفاده شده است، اما طبق امتیازدهی CVSS، بردار حمله این آسیب پذیری لوکال است، زیرا اجرای کد پس از پردازش فایل مخرب توسط نرم‌افزار 7-Zip و روی همان سیستم هدف رخ می‌دهد. در اینجا RCE به امکان اجرای کد دلخواه اشاره دارد و به معنی سوءاستفاده مستقیم از طریق شبکه نیست.

این ضعف می‌تواند محرمانگی (Confidentiality)، یکپارچگی (Integrity) و دسترس‌پذیری (Availability) نرم‌افزار را با شدت بالا تحت تأثیر قرار دهد؛ به‌طوری‌که اجرای کد دلخواه امکان دسترسی یا تغییر غیرمجاز داده‌های قابل دسترس برای پردازه 7-Zip را فراهم می‌کند و سرریز Heap نیز می‌تواند باعث کرش نرم‌افزار و ایجاد شرایط انکار سرویس (DoS) شود. این آسیب‌پذیری در نسخه 7-Zip 26.02 پچ شده است.

CVSS

Score Severity Version Vector String
7.0 HIGH 3.0 CVSS:3.0/AV:L/AC:H/PR:N/UI:R/S:U/C:H/I:H/A:H

CVE-2026-14266

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

Versions Product
affectedat 26.01 7-Zip

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

Versions Product
Fixed in 7-Zip 26.02 7-Zip

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

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

Approx. Usage in .ir Domain via Google (Total Pages) Search Query (Dork) Product
83,600 site:.ir “7-Zip” 7-Zip

نتیجه گیری

این آسیب‌پذیری با شدت بالا (High) از نوع سرریز بافر مبتنی بر Heap در مسیر پردازش داده‌های XZ در نرم‌افزار 7-Zip است که هنگام باز کردن یا استخراج فایل‌های XZ دستکاری‌شده می‌تواند باعث نوشتن خارج از محدوده در حافظه، کرش نرم‌افزار و در شرایط خاص، اجرای کد دلخواه شود. برای کاهش ریسک سوءاستفاده از این آسیب‌پذیری، اقدامات زیر توصیه می‌شود:

  • به‌روزرسانی 7-Zip: به‌روزرسانی 7-Zip به نسخه 02 یا نسخه‌های جدیدتر، مهم‌ترین اقدام برای رفع این آسیب‌پذیری است، زیرا اصلاحات امنیتی لازم برای مدیریت صحیح پردازش XZ در فایل C/XzDec.c این نسخه اعمال شده است.
  • استفاده موقت از حالت استخراج تک‌رشته‌ای (Single-threaded Extraction): در شرایطی که امکان به‌روزرسانی فوری نرم‌افزار وجود ندارد، اجرای عملیات استخراج فایل‌های XZ در حالت تک‌رشته‌ای با استفاده از گزینه -mmt=1 می‌تواند مسیر آسیب‌پذیر چندرشته‌ای را غیرفعال کرده و احتمال سوءاستفاده از این ضعف را کاهش دهد.
  • فعال‌سازی قابلیت‌های محافظتی سیستم‌عامل مانند قابلیت محافظت ویندوز در برابر اکسپلویت ‌(Windows Exploit Protection): فعال‌سازی مکانیزم‌های امنیتی مانند حفاظت از جریان کنترل (Control Flow Guard – CFG)، جلوگیری از اجرای کدهای غیرمجاز (Arbitrary Code Guard – ACG) و قابلیت‌های بررسی یکپارچگی Heap می‌تواند در برابر سناریوهای سوءاستفاده پیشرفته، مانع اجرای موفق حمله شود.
  • نظارت بر خاتمه غیرعادی پردازه exe هنگام استخراج فایل‌ها: بررسی وضعیت پایان اجرای پردازه 7z.exe و شناسایی خطاهایی مانند 0xC0000005 هنگام استخراج فایل‌ها می‌تواند به شناسایی وقوع سرریز حافظه یا تلاش برای دسترسی غیرمجاز به حافظه کمک کند.
  • نظارت بر خطاهای مرتبط با خرابی Heap در نرم‌افزار 7-Zip: بررسی رخدادهای مرتبط با خطای 0xC0000374 و پیام‌های مربوط به خرابی Heap می‌تواند به شناسایی پردازش فایل‌های XZ مخرب یا تلاش برای سوءاستفاده از این آسیب‌پذیری کمک کند.
  • شناسایی فایل‌های XZ مشکوک با استفاده از قوانین YARA و ابزارهای تشخیص امنیتی: بررسی فایل‌های XZ برای شناسایی مواردی که داده خروجی آن‌ها هنگام فشرده‌زدایی بیشتر از مقدار تعریف‌شده در unpackSize است، می‌تواند به تشخیص فایل‌های مخرب پیش از پردازش آن‌ها توسط 7-Zip کمک کند.

اجرای این اقدامات، به‌ویژه به‌روزرسانی فوری نرم‌افزار 7-Zip به نسخه پچ‌شده، می‌تواند احتمال سوءاستفاده موفق از این آسیب‌پذیری را به میزان قابل توجهی کاهش دهد، از بروز کرش‌های ناخواسته جلوگیری کند و سطح محافظت سیستم در برابر پیامدهای احتمالی این ضعف امنیتی را افزایش دهد.

امکان استفاده در تاکتیک‌های MITRE ATT&CK (در زمان اجرای حمله)

Initial Access (TA0001)

برای بهره ‌برداری از این آسیب ‌پذیری، مهاجم نیاز به تعامل کاربر (User Interaction) دارد . او باید کاربر قربانی را از طریق روش ‌های مهندسی اجتماعی مانند ایمیل ‌های فیشینگ، لینک‌ های دانلود آلوده، یا هدایت به یک وب ‌سایت مخرب فریب دهد تا یک فایل XZ دست‌کاری‌شده را با استفاده از 7-Zip باز کند. با توجه به اینکه بردار حمله محلی (Local Attack Vector) در نظر گرفته شده است، این آسیب ‌پذیری به صورت مستقیم و از راه دور قابل بهره ‌برداری نیست، بلکه مهاجم باید فایل مخرب را به نحوی به سیستم قربانی برساند.

Execution (TA0002)

هسته اصلی این آسیب‌ پذیری در این مرحله قرار دارد. هنگامی که کاربر فایل XZ مخرب را با نسخه آسیب ‌پذیر 7-Zip باز می‌کند، نقص در تابع MixCoder_Code (در فایل C/XzDec.c) فعال می‌شود. در این تابع، هنگام پردازش داده‌ های XZ، به اشتباه از طول کامل بافر خروجی به جای فضای باقیمانده پس از نوشته ‌های قبلی استفاده می‌شود. این اشتباه باعث می‌شود که در یک حلقه، داده‌ ها فراتر از مرز بافر تخصیص ‌یافته در حافظه هیپ نوشته شوند (Out-of-Bounds Write). کدهای اثبات مفهوم (PoC) برای ایجاد یک فایل مخرب که باعث از کار افتادن (Crash) 7-Zip می‌شود، منتشر شده است. در سناریوی پیشرفته ‌تر، مهاجم می‌تواند با طراحی دقیق این سرریز، کنترل جریان اجرای برنامه را به دست گرفته و کد دلخواه خود را با سطح دسترسی فرآیند 7-Zip اجرا کند.

Persistence (TA0003)

خود آسیب‌ پذیری CVE-2026-14266 یک مکانیسم ماندگاری محسوب نمی‌شود و صرفاً به عنوان یک روش اجرای کد عمل می‌کند. با این حال، دسترسی اولیه و توانایی اجرای کد بر روی سیستم قربانی، به مهاجم اجازه می‌دهد تا مراحل بعدی را برای تداوم حضور خود در سیستم آغاز کند. مهاجم می‌تواند از این دسترسی برای نصب یک بک‌ دور، ایجاد یک حساب کاربری مخفی، یا تنظیم یک وظیفه زمان ‌بندی ‌شده (Scheduled Task) استفاده کند تا اطمینان حاصل شود که حتی پس از ریستارت سیستم، همچنان به آن دسترسی دارد. با این حال، کدهای اثبات مفهومی که در حال حاضر منتشر شده ‌اند، صرفاً بر روی ایجاد خرابی (Crash) متمرکز هستند و به مرحله ماندگاری نرسیده‌ اند.

Privilege Escalation (TA0004)

خود CVE-2026-14266 یک نقص افزایش اختیارات نیست، بلکه یک آسیب ‌پذیری اجرای کد است که با سطح دسترسی فرآیند 7-Zip اجرا می‌شود. این سطح دسترسی معمولاً با سطح دسترسی کاربر لاگین‌ شده برابر است. با این حال، در ویندوز، حتی اگر کاربر با حساب ادمین لاگین کرده باشد، 7-Zip معمولاً با یک توکن استاندارد (Standard User Token) اجرا می‌شود و اختیارات کامل ادمین را ندارد. با این وجود، اگر کاربر یا یک اسکریپت، 7-Zip را با سطح دسترسی بالا (Elevated / Run as Administrator) اجرا کرده باشد، مهاجم مستقیماً به بالاترین سطح دسترسی در سیستم دست پیدا می‌کند. همچنین، مهاجم می‌تواند از این دسترسی اولیه برای بهره ‌برداری از آسیب ‌پذیری ‌های دیگر افزایش اختیارات محلی (LPE) استفاده کند.

Defense Evasion (TA0005)

حمله مبتنی بر CVE-2026-14266 از چند جهت از مکانیسم‌ های تشخیصی فرار می‌کند. اولاً، بخش اعظم حمله (ارسال فایل فشرده) از طریق روش‌ های متداول مانند ایمیل یا وب‌ سایت‌ های مخرب صورت می‌گیرد که ممکن است به عنوان ترافیک عادی تلقی شوند. ثانیاً، خود اجرای کد از طریق سرریز بافر در حافظه انجام می‌شود و معمولاً هیچ فایلی روی دیسک ایجاد نمی‌کند که توسط آنتی ‌ویروس ‌های سنتی قابل شناسایی باشد. در نهایت، پیچیدگی بالای حمله (High Attack Complexity) و عدم وجود گزارش ‌های معتبر از بهره ‌برداری فعال، ممکن است مهاجمان را به سمت روش‌ های پیچیده ‌تر برای پنهان‌ سازی سوق دهد.

Impact (TA0040)

بهره ‌برداری موفق از CVE-2026-14266 می‌تواند عواقب جدی برای کاربر یا سازمان داشته باشد.

اجرای کد از راه دور (RCE)، مهاجم می‌تواند با سطح دسترسی کاربر، هر دستوری را بر روی سیستم هدف اجرا کند.

نقض محرمانگی و یکپارچگی، مهاجم قادر به خواندن و تغییر فایل‌ های کاربر، سرقت اطلاعات حساس (مانند اسناد، کلیدهای API، اطلاعات شخصی) و جاسوسی از فعالیت‌ های کاربر خواهد بود. قطع سرویس (DoS)، در ساده ‌ترین حالت، سرریز بافر می‌تواند باعث از کار افتادن (Crash) نرم‌افزار 7-Zip شود . زمینه‌ سازی برای حملات بعدی، دسترسی اولیه به دست آمده می‌تواند نقطه ‌شروع مناسبی برای حرکت جانبی در شبکه، نصب بدافزارهای پیچیده ‌تر یا حملات باج ‌افزاری باشد.

منابع

  1. https://www.cve.org/CVERecord?id=CVE-2026-14266
  2. https://www.cvedetails.com/cve/CVE-2026-14266/
  3. https://www.zerodayinitiative.com/advisories/ZDI-26-444/
  4. https://vulmon.com/vulnerabilitydetails?qid=CVE-2026-14266
  5. https://vuldb.com/vuln/380086
  6. http://www.openwall.com/lists/oss-security/2026/07/17/12
  7. https://github.com/liyuxuan504-byte/CVE-2026-14266
  8. https://cwe.mitre.org/data/definitions/122.html