ثغرة Ghostscript ‏CVE-2026-39919: كيف يمكن لملف PDF واحد أن يستولي على خادم، ومن المعرّض للخطر فعلًا

قطة صغيرة متنكّرة في هيئة شبح تحت قماش أبيض على مكتب في غرفة خوادم، وامرأة ترفع طرف القماش

معظم الناس لم يثبّتوا Ghostscript قط ولا يعرفون أنهم يستخدمونه. ومع ذلك يعمل هذا البرنامج خلف الكواليس على عدد هائل من الخوادم: فهو الذي يحوّل ملف PDF المرفوع إلى صورة مصغّرة في ووردبريس وفي أنظمة إدارة المستندات وبوابات البريد وفي خدمات من نوع «اضغط ملف PDF عبر الإنترنت». في سبتمبر 2026 أُصلحت فيه ثغرة يمكن بسببها لملف PDF مُعدّ خصيصًا أن يؤدي إلى تنفيذ شيفرة غريبة على الجهاز الذي يعالج الملف.

فيما يلي ما نعرفه على وجه اليقين، وما لا نعرفه، وكيف تفحص خادمك، وما الذي تعنيه هذه القصة لكل من يرسل مستنداته إلى الإنترنت لمعالجتها.

باختصار

  • الثغرة: CVE-2026-39919، فيضان في مخزن مؤقت على الكومة (heap) أثناء معالجة Ghostscript لصور JPEG 2000. يكفي ملف PDF يحتوي على صورة مُعدّة لهذا الغرض.
  • الإصدارات المتأثرة: من 9.21 إلى 10.07.1 بحسب مكتشفيها (سجل CVE يقول عمومًا «قبل 10.08.0»).
  • الإصلاح: Ghostscript 10.08.0، الصادر في 8 سبتمبر 2026. توزيعات لينكس تنقل الإصلاح إلى أرقام إصدارات أقدم، لذا فالمهم هو المراجعة الكاملة للحزمة، لا ما يعرضه الأمر gs --version.
  • الخطورة: 9.8 وفق CVSS 3.1 بحسب سجل CVE، و7.8 («Moderate») بحسب Red Hat. الرقمان صادقان، لكنهما يصفان سيناريوهين مختلفين.
  • الهجمات الفعلية: لم تُؤكَّد أي هجمة حتى الآن. الاستغلال الذي نجح وُضع في المختبر وضُبط على نسخة بناء محددة.
  • الخيار -dSAFER لا يحمي. يحدث الخلل حتى مع تفعيل بيئة العزل (sandbox).

ماذا حدث

اكتشفت الثغرةَ شركة Wordfence المتخصصة في أمن ووردبريس، باستخدام نظام الاختبار Argus المدعوم بالذكاء الاصطناعي. كان ذلك في 23 أغسطس 2026 أثناء مراجعة أمنية لووردبريس 7.1. تتبّعت الأداة ملفًا مرفوعًا إلى ما بعد شيفرة PHP التي استقبلته: عبر إضافة Imagick، وعبر ImageMagick، وصولًا إلى Ghostscript ومفكّك ترميز JPEG 2000 في القاع.

أكدت شركة Artifex، مطوّرة Ghostscript، البلاغ في اليوم التالي، وأصدرت في 8 سبتمبر الإصدار 10.08.0 المتضمّن للإصلاح. نُشر سجل CVE في 15 سبتمبر. وكشفت Wordfence التفاصيل التقنية في 12 أكتوبر، وبعد يوم تناول الموضوعَ موقع BleepingComputer وبقية الصحافة المتخصصة.

كيف يعمل الخلل

لا تحتاج إلى معرفة لغة C لفهم ذلك. الصورة شبكة من العيّنات. يسمح JPEG 2000 بأن تكون لمكوّنات الصورة (كالسطوع والشفافية مثلًا) دقّات مختلفة، وبأن تشغل العيّنة الواحدة أقل من 8 بتات. مع عيّنات من بتّين، تتسع البايت الواحدة لأربع منها.

في المثال الذي وصفه الباحثون، يضم سطر واحد من الصورة 1024 عيّنة من هذا النوع. بعد الضغط تشغل 256 بايت، ويحجز Ghostscript بشكل صحيح 256 بايت. لكن حين يجتمع الشرطان السابقان معًا، تكتب الحلقة التي تملأ السطر بايتًا كاملة لكل عيّنة بدل أن تضع أربعًا في كل بايت. فتدخل 1024 بايت إلى مخزن مؤقت سعته 256. البايتات الزائدة، 768 في كل سطر، تكتب فوق الذاكرة التي يحفظ فيها Ghostscript بيانات الإدارة الخاصة به. ولأن هذه البايتات تأتي من الصورة، فإن صانع الملف هو من يختار محتواها.

خانات خشبية للرسائل في مكتب بريد قديم، في كل خانة قطة صغيرة، وفي نهاية الصف تتساقط القطط الصغيرة على الأرض

هذا هو الطريق الكلاسيكي من «انهار البرنامج» إلى «فعل البرنامج ما أراده المهاجم». الأنظمة الحديثة تجعل هذا الطريق أصعب بكثير (التوزيع العشوائي للذاكرة وحمايات أخرى)، لكنها لا تغلقه تمامًا.

كيف يصل ملف PDF إلى Ghostscript في ووردبريس

لا يرسم ووردبريس معاينات PDF بنفسه. منذ الإصدار 4.7 صار قادرًا على إنشاء صورة للصفحة الأولى من المستند المرفوع، ويفعل ذلك بمساعدة برامج أخرى. السلسلة كالتالي:

WordPress → إضافة PHP المسماة Imagick → ImageMagick → Ghostscript

يعمل Ghostscript كعملية مستقلة، وعادةً بالحساب نفسه الذي يعمل به خادم الويب. ولا يبدأ إلا حين يطلب شيء ما صورةً من ملف PDF. النموذج الذي يحفظ الملف على القرص ولا يفعل به شيئًا آخر لا يشغّله أبدًا.

الهجوم عبر هذا المسار يتطلب تحقّق الشروط الأربعة كلها في آن واحد:

  1. أن يتمكن شخص من الخارج (مجهول الهوية أو بحساب منخفض الصلاحيات) من رفع ملف PDF،
  2. أن يطلب الموقع معاينة أو صورة مصغّرة لذلك الملف،
  3. أن يوجد على الخادم Imagick أو أداة أخرى تستدعي Ghostscript لهذا الغرض، وأن تسمح سياسة ImageMagick بقراءة ملفات PDF،
  4. ألا يتضمن Ghostscript المثبّت الإصلاح.

تحفّظ مهم: ووردبريس في حالته الافتراضية لا يسمح للزوار المجهولين برفع الملفات إلى مكتبة الوسائط. يحتاج المهاجم إلى إضافة أو نموذج فيه حقل مرفقات أو حساب يفتح هذا الطريق. فحصت Wordfence أيضًا صورة Docker الرسمية لووردبريس: كانت تحتوي على Ghostscript 10.05.1 المعرّض للثغرة وإضافة Imagick ومسارًا عاملًا لمعاينة PDF. ومع ذلك لم تكن وحدها كافية لهجوم مجهول المصدر.

هناك تفصيلة تصبّ في مصلحة المهاجم: إذا فشلت المحاولة الأولى لإنشاء المعاينة، يعيد ووردبريس المحاولة تلقائيًا بإعدادات مختلفة. أي أن ثلاثة مرفقات خبيثة تعني ست مرات تشغيل لـ Ghostscript. وفي اختبار Wordfence ظلّ النموذج يعلن «تم الرفع بنجاح» بينما كان Ghostscript ينهار بصمت في الخلفية.

هذا ليس خللًا في ووردبريس ولا في إضافة النماذج. لقد كانا مجرد الطريق الذي وصل منه الملف إلى Ghostscript.

ما مدى الخطورة فعلًا

يستحق الأمر التوقف هنا، لأن عناوين مثل «ملف PDF واحد يستولي على خادمك» لا تقول إلا نصف الحقيقة.

لماذا تقييمان مختلفان. يمنح سجل CVE الدرجة 9.8 من 10 (CVSS 3.1) و9.3 (CVSS 4.0). تصف هذه الأرقام أسوأ الحالات: تطبيق متاح عبر الشبكة يقبل ملفات PDF دون تسجيل دخول ودون تدخل بشري. أما Red Hat فتقيّم الثغرة نفسها بـ 7.8 وتصفها بـ «Moderate»، لأنها تقيس السيناريو الذي يفتح فيه المستخدم ملفًا خبيثًا على حاسوبه. لا أحد من التقييمين خاطئ، فكل منهما يجيب عن سؤال مختلف.

كم محاولة، وكم نجاحًا. بنت Wordfence استغلالين عاملين لنسخة البناء المخبرية، ثم شغّلتهما 10,240 مرة على عشر بيئات أخرى: Debian وUbuntu وFedora وAlmaLinux وAlpine والحاوية الرسمية لووردبريس. لم ينجحا ولو مرة واحدة. أما على نسخة البناء التي صُمّما لها، فقد استمرا في العمل حتى بعد تغيير الخطوط وإعدادات اللغة وإحدى مكتبات النظام الأساسية، وإن لم يكن في كل محاولة.

للنتيجة وجهان. لا يوجد ملف واحد يفتح كل خوادم العالم. لكن المهاجم لا يحتاج إلى ملف شامل إذا كان يستهدف شركة بعينها، أو مستضيفًا تعمل لديه مئات المواقع على صورة نظام متطابقة. ويذكّر الباحثون بأنه في حالة مشابهة تخص مكتبة libheif، كان فريق آخر يكيّف الاستغلال مع كل هدف جديد خلال يوم أو يومين بمساعدة الذكاء الاصطناعي.

بأي صلاحيات. تعمل شيفرة المهاجم بالحساب الذي يعالج ملف PDF، وهو عادةً حساب خادم الويب. هذا ليس root تلقائيًا، لكن هذا الحساب يستطيع في العادة قراءة ملفات الموقع، بما فيها الإعدادات التي تحتوي على كلمة مرور قاعدة البيانات.

الهجمات الفعلية: حتى تاريخ كتابة هذا النص، لم يُبلغ أحد عن استغلال هذه الثغرة خارج المختبر.

كيف تفحص خادمك

امرأة ترتدي نظارة أمام حاسوبها المحمول، وبجانبها قطة صغيرة مخططة تحدّق في الشاشة باهتمام، وعلى المكتب عدسة مكبّرة

إذا كان لديك وصول إلى سطر الأوامر، فابدأ بثلاثة أسئلة.

1. هل يوجد Ghostscript هنا أصلًا، وما مراجعة الحزمة؟

  • Debian وUbuntu: dpkg -s ghostscript | grep Version
  • Fedora وRHEL وAlmaLinux: rpm -q ghostscript
  • للاستكمال: gs --version، لكن هذا الرقم وحده لا يحسم شيئًا.

لماذا لا يكفي الرقم؟ أصلحت Ubuntu 22.04 الثغرة في الحزمة 9.55.0~dfsg1-0ubuntu5.14، التي ما زالت تجيب «9.55.0» حين تُسأل عن إصدارها. ويحتوي Debian 13 على الإصلاح في 10.05.1~dfsg-1+deb13u2 (النشرة DSA-6516-1). وأصدرت Red Hat إصلاحات لـ RHEL 10 و9 و8 بين 1 و6 أكتوبر. وبحسب متتبّع Debian الأمني، ما زال Debian 12 (bookworm) موسومًا بأنه معرّض للثغرة. قارن دائمًا بنشرة توزيعتك.

وهناك فخ في الاتجاه المعاكس أيضًا: الإصدار المرشّح 10.08.0 (RC) يقدّم نفسه على أنه 10.08.0 لكنه لا يتضمن الإصلاح. وهو بالضبط ما كان يعمل على جهاز الاختبار لدى Wordfence. إذا بنيت Ghostscript من الشيفرة المصدرية، فتأكد من أنه الإصدار النهائي.

2. هل في PHP إضافة Imagick؟ php -m | grep -i imagick. في لوحة تحكم ووردبريس: أدوات ← صحة الموقع ← معلومات ← التعامل مع الوسائط. هذه مجرد نقطة بداية: تُظهر ما إذا كان Imagick يتعرف على PDF، لكنها لا تقول شيئًا عن تحديث Ghostscript.

3. هل يستطيع ImageMagick قراءة ملفات PDF؟ convert -list format | grep -i pdf (في ImageMagick 7: magick -list format). الحرفان rw بجانب PDF يعنيان أن الطريق إلى Ghostscript مفتوح.

الحاويات: إعادة التشغيل لا تكفي. اسحب صورة أساس محدّثة، وأعد البناء دون الطبقات المخزّنة مؤقتًا، ثم أعد النشر.

الاستضافة المشتركة: في العادة لا تستطيع التحقق من ذلك بنفسك. اطرح على مزوّد الخدمة سؤالين: هل تتضمن حزمة Ghostscript على خوادمه إصلاح CVE-2026-39919، وهل تُحوَّل ملفات PDF التي يرفعها العملاء إلى معاينات في أي مكان من أنظمته؟

إذا لم تستطع التحديث فورًا

  • توقّف عن قبول ملفات PDF من الزوار المجهولين ومن الحسابات منخفضة الصلاحيات. الملف الذي لا يصل إلى الخادم لا يصل إلى Ghostscript.
  • عطّل قراءة PDF في سياسة ImageMagick. في الملف policy.xml (عادةً في /etc/ImageMagick-6/ أو /etc/ImageMagick-7/) أضف داخل القسم <policymap> السطر <policy domain="coder" rights="none" pattern="{PS,PS2,PS3,EPS,PDF,XPS}" />. الأثر الجانبي: سيتوقف ووردبريس عن إنشاء الصور المصغّرة لملفات PDF.
  • حدّد عدد الملفات في كل إرسال ومعدّل الرفع. هذا يقلّل عدد المحاولات المتاحة للمهاجم، لكنه لا يصلح شيئًا.
  • اعزل تحويل المستندات في خدمة منفصلة لا تصل إلى أسرار الموقع ولا تملك اتصالات شبكية غير ضرورية. هذا يحدّ من الضرر، لكنه ليس إصلاحًا هو الآخر.

ما لا ينبغي فعله: لا تعتبر -dSAFER حماية. بيئة العزل في Ghostscript تقيّد ما يمكن للمستند فعله بوظائف PostScript الموثّقة. لكنها لا تمنع تلف الذاكرة، وفي الاختبارات حدث الخلل وبيئة العزل مفعّلة. ولا تستطيع أي إضافة لووردبريس إصلاح ذلك، لأن Ghostscript يأتي من نظام التشغيل أو من صورة الحاوية، لا من ووردبريس.

لا تخلط بين هذه الثغرة وCVE-2026-65640. تلك قضية أخرى: تنفيذ شيفرة عن بُعد في ووردبريس عبر رفع ملف PostScript، يمر هو أيضًا عبر Imagick وGhostscript، لكنه يتطلب حسابًا مخوّلًا برفع الملفات (عادةً دور الكاتب أو أعلى). وقد أُصلحت في ووردبريس 7.0.4 مع نقل الإصلاح إلى الفروع الأقدم حتى 4.7.

ليست مشكلة ووردبريس وحده

ووردبريس ليس سوى واحد من طرق كثيرة يمكن أن يصل منها ملف PDF من شخص غريب إلى Ghostscript. والأمر نفسه ينطبق على أنظمة إدارة المستندات وخوادم الطباعة ومعالجة الفواتير ومولّدات المعاينات وبوابات البريد التي تفحص المرفقات وواجهات API لتحويل الملفات. السؤال دائمًا واحد: هل يعرض هذا البرنامج ملفات PDF وصلت من شخص آخر؟

البحث عن كلمة «Ghostscript» في شيفرة تطبيقك قد لا يُسفر عن شيء. ففي العادة يقف بينهما ImageMagick أو مكتبة أخرى، وهي التي تستدعي Ghostscript.

ماذا يعني هذا عند إرسال ملفات PDF إلى الإنترنت

لهذه القصة وجه آخر يُتحدّث عنه أقل. خدمة «ضغط PDF» أو «تحويل PDF إلى صورة» أو «دمج ملفات PDF» في المتصفح هي بالضبط نوع الخادم الذي تحدثنا عنه أعلاه: تستقبل الملفات من الغرباء وتمرّرها عبر أدوات تفككها ثم تعيد تركيبها. لا تعرف بماذا ولا بأي إصدار يُعالَج مستندك، ولا إن كانت قد حُدّثت بعد 8 سبتمبر. لكنك تعرف أن ملفك يبقى، ولو لبعض الوقت، على الجهاز نفسه مع ملفات آلاف الأشخاص الآخرين، وقد يكون بعضها مُعدًّا خصيصًا.

هذا لا يعني أن كل خدمة على الإنترنت مليئة بالثغرات. بل يعني أنك حين ترفع عقدًا أو صورة ممسوحة لبطاقة هوية أو نتائج فحوص طبية، فإنك تسلّمها إلى مكان لا تستطيع التحقق من أمانه. المزيد عن ذلك في المقال حول ما يحدث لبياناتك عند التحويل عبر الإنترنت.

وللإنصاف، فالمعالجة المحلية ليست محصّنة بطبيعتها. إذا كنت تضغط ملفات PDF بنفسك باستخدام Ghostscript، فحدّثه إلى 10.08.0 أو أحدث. ميزة العمل دون اتصال تكمن في موضع آخر: المستند لا يغادر حاسوبك أبدًا، وأنت من يقرر أي إصدار من البرنامج يعالجه، لا شخص لم تقابله قط.

إذا كنت تدمج ملفات PDF أو تقسمها أو تشفّرها أو تحوّلها إلى Word باستمرار، فيمكنك فعل ذلك دون رفعها إلى أي مكان. PDF Manipulator مجاني، ويعمل على ويندوز ولينكس، ويبقى كل ملف على حاسوبك.

المصادر

اترك تعليقًا

لن يتم نشر عنوان بريدك الإلكتروني. الحقول الإلزامية مشار إليها بـ *

Scroll to Top