یک آسیبپذیری بحرانی در کتابخانه Ghostscript کشف شده است که به مهاجمان اجازه میدهد با آپلود یک فایل PDF دستکاری شده حاوی یک تصویر مخرب JPEG 2000، کدهای خود را روی سرورهای آسیبپذیر اجرا کنند.
جزئیات فنی و تحلیل آسیبپذیری
این نقص امنیتی که با شناسه CVE-2026-39919 ردیابی میشود، از نوع Heap-based Buffer Overflow است. این آسیبپذیری در سیستم امتیازدهی CVSS v3.1 نمره 9.8 و در CVSS v4.0 نمره 9.3 را دریافت کرده است که نشاندهنده یک سناریوی بدترین حالت (Worst-case) برای اجرای کد از راه دور (RCE) بدون نیاز به احراز هویت و از طریق شبکه است.
این مشکل در نسخههای Ghostscript پیش از 10.08.0 و بهطور مشخص در بخش JPEG 2000 output adapter وجود دارد. زمانی که کد مربوط به پردازش تصاویری با فاکتورهای Subsampling ناهماهنگ اجرا میشود، حافظه برای خروجی تصویر فشرده تخصیص مییابد، اما در ادامه برای هر ستون خروجی، فارغ از عمق بیت (Bit depth)، یک بایت کامل نوشته میشود. این عدم تطابق باعث سرریز شدن بافر در Heap شده و متادیتای مدیریت حافظه داخلی Ghostscript را تخریب میکند که در شرایط مناسب، منجر به اجرای کد میشود.
زنجیره حمله و مخاطرات زنجیره تأمین (Supply Chain)
تحقیقات نشان داده است که این حمله لزوماً مستقیماً به یک اپلیکیشن (مانند WordPress) حمله نمیکند، بلکه از پشته پردازش اسناد (Document-processing stack) سوءاستفاده میکند. برای مثال در محیطهای وردپرس، زنجیره حمله به این صورت است:
- آپلود فایل PDF در کتابخانه رسانه (Media Library).
- فراخوانی Imagick توسط وردپرس.
- استفاده Imagick از ImageMagick.
- در نهایت، فراخوانی Ghostscript توسط ImageMagick برای رندر کردن پیشنمایش صفحه اول سند.
این موضوع باعث میشود فایل PDF مخرب بدون هدف قرار دادن مستقیم هسته PHP یا وردپرس، به پروسه آسیبپذیر Ghostscript برسد. بنابراین هر سیستمی که فایلهای PDF را از کاربران ناشناس، مشتریان یا کاربران با سطح دسترسی پایین دریافت و رندر میکند (مانند پورتالهای اسناد، سیستمهای پردازش فاکتور، سرویسهای چاپ و APIهای تبدیل فایل)، در معرض این خطر قرار دارد.
محدودیتها و توصیههای امنیتی
اگرچه اکسپلویتهای Proof-of-Concept (PoC) شناسایی شدهاند، اما اجرای آنها به محیط (Build-specific) بستگی دارد؛ به این معنا که فایلی که برای یک محیط خاص ساخته شده، ممکن است در محیطهای لینوکسی دیگر بدون تغییر عمل نکند. با این حال، این موضوع ریسک را از بین نمیبرد، زیرا مهاجمان میتوانند تصاویر کانتینری مشترک یا محیطهای هاستینگ رایج را هدف قرار دهند.
راهکارهای مقابله
از آنجایی که این مشکل در سطح کتابخانه سیستمعامل است، بهروزرسانی افزونهها یا اپلیکیشنها کافی نیست. مدیران سیستم باید اقدامات زیر را انجام دهند:
- نصب آخرین نسخه Ghostscript 10.08.0 یا نسخههای اصلاح شده توسط توزیع لینوکس مورد استفاده.
- بازسازی کانتینرها بر اساس Imageهای پایه بهروز شده.
- در صورت عدم امکان بهروزرسانی فوری، غیرفعال کردن رندر PDF در سیاستهای امنیتی (Security Policy) ImageMagick.
- محدود کردن آپلود فایلهای PDF از منابع غیرقابل اعتماد.
- اجرای سرویسهای تبدیل سند در محیطهای ایزوله با حداقل دسترسی (Least Privilege) برای کاهش اثرات پس از اکسپلویت.