سيُنشر هذا المقال قريباً
موعد النشر: 2026-06-03 12:45
سيظهر المقال تلقائياً عند حلول الموعد — لا حاجة لإعادة التحميل.
كارثة أمنية جديدة في خادم X
بعد أكثر من عقد من التحذيرات المتكررة حول أمان خادم X.Org، لا يزال المشروع يواجه ثغرات خطيرة. في 2 يونيو 2026، أعلن بيتر هوتيرير (Peter Hutterer)، مطور X.Org من Red Hat، عن إصدار تحديثين أمنيين طارئين: X.Org Server 21.1.23 و Xwayland 24.1.12 .
هذه الإصدارات تعالج 9 ثغرات أمنية جديدة، ثمانية منها تم اكتشافها بواسطة أدوات الذكاء الاصطناعي التابعة لـ Trend Micro Zero Day Initiative . بعض هذه الثغرات قد تؤدي إلى تصعيد الصلاحيات (Privilege Escalation) إذا كان الخادم يعمل بصلاحيات الجذر، وفي تكوينات معينة قد تسمح بتنفيذ تعليمات برمجية عن بُعد (Remote Code Execution) عند استخدام إعادة توجيه جلسات X11 عبر SSH .
🔗 إعلان قائمة X.org: lists.x.org/archives/xorg-announce/2026-June/003703.html
ما هو X.Org Server وما هو Xwayland؟
قبل تحليل الثغرات، من المهم فهم الفرق بين المكونين اللذين تم تحديثهما.
X.Org Server هو التطبيق المرجعي لبروتوكول X11، نظام النوافذ التقليدي الذي يعمل عليه معظم تطبيقات سطح المكتب الرسومية على لينكس لعقود. على الرغم من أن معظم التوزيعات تحولت إلى Wayland كخادم عرض افتراضي، إلا أن X.Org Server لا يزال مثبتاً على كل نظام تقريباً كاحتياطي أو لتشغيل تطبيقات X11 القديمة التي لا تعمل بشكل جيد على Wayland.
Xwayland هو خادم X11 يعمل كعميل ضمن جلسة Wayland. دوره هو السماح لتطبيقات X11 القديمة بالعمل على سطح مكتب Wayland الحديث دون تعديل. يقوم بترجمة طلبات X11 إلى أوامر يفهمها Wayland. Xwayland هو جسر التوافق الحيوي الذي يجعل الانتقال إلى Wayland سلساً للمستخدمين.
كلا المكونين يشتركان في قاعدة كود كبيرة، ولذلك غالباً ما تؤثر الثغرات المكتشفة في X.Org Server على Xwayland أيضاً.
قائمة الثغرات المُصلحة (9 ثغرات)
جميع الثغرات التالية تم إصلاحها في كلا الإصدارين 21.1.23 و 24.1.12. لم يتم تخصيص أرقام CVE لها بعد وقت الإعلان .
1. تجاوز سعة المخزن المؤقت في معالجة أسماء الخطوط (Font Alias Stack-based Buffer Overflow)
عند معالجة الأسماء المستعارة للخطوط، هناك عدم تطابق بين الحد الأقصى لطول اسم الخط في خادم X (256 بايت) وفي مكتبة libXfont2 (1024 بايت). اسم خط مستعار بين 257 و 1023 بايت سيتم نسخه في مخزن مؤقت أصغر منه على المكدس (stack) دون إجراء فحوصات إضافية، مما يؤدي إلى تجاوز السعة. هذه ثغرة خطيرة لأنها تسمح بتدفق البيانات إلى مناطق حساسة من الذاكرة .
2. وصول إلى الذاكرة بعد تحريرها في miSyncDestroyFence() (Use-After-Free)
عميل يقوم بإعداد عدة مشغلات سياج (fence triggers) يمكنه استدعاء دالة بعد تحرير الذاكرة. سيناريو الهجوم: يتصل المهاجم بالخادم، يقوم بإعداد سياج وانتظاره، ثم يقوم اتصال X ثانٍ بتدمير السياج، مما يؤدي إلى Use-After-Free .
3. تجاوز سعة المخزن المؤقت في معالجة أنواع المفاتيح XKB (XKB Key Types Stack-based Buffer Overflow)
الدالة CheckKeyTypes() لا تتحقق من صحة أنواع المفاتيح غير القياسية أو تحد من مستويات الإزاحة (shift levels). عميل ضار يمكنه تغيير أنواع المفاتيح إلى مستويات إزاحة مفرطة وتشغيل ثلاث تجاوزات سعة منفصلة على المكدس. هذه الثغرة ناتجة عن إصلاح غير كامل لثغرة سابقة CVE-2025-26597 .
4. تجاوز سعة المخزن المؤقت في طلب SetMap (XKB SetMap Request Stack-based Buffer Overflow)
الدالة المساعدة CheckKeyTypes() تقوم بالكتابة في مصفوفة mapWidths[256] بحجم ثابت على المكدس، وذلك في موقع يتم التحكم به من قبل العميل. هذا يسمح للعميل بالكتابة خارج حدود المصفوفة، متسبباً في تجاوز سعة المخزن المؤقت .
5. وصول إلى الذاكرة بعد تحريرها في FreeCounter() (XSYNC Use-After-Free)
عميل يقوم بإعداد عدة عدادات تزامن SyncCounters وينتظر مشغلاتها، ثم يقوم اتصال X ثانٍ بتدمير هذه العدادات. هذا يؤدي إلى محاولة الوصول إلى الذاكرة بعد تحريرها .
6. وصول إلى الذاكرة بعد تحريرها في SyncChangeCounter() (XSYNC Use-After-Free)
سيناريو مشابه للثغرة السابقة، لكن يحدث أثناء تغيير العدادات. عميل يعد عدة عدادات، ثم يقوم اتصال ثانٍ بتدميرها أثناء تغيير قيمتها .
7. قراءة/كتابة خارج الحدود في GLX (GLX ChangeDrawableAttributes Out-Of-Bounds Read/Write)
فحص حجم خاطئ في الدالة __glXDisp_ChangeDrawableAttributes() يمكن أن يؤدي إلى قراءة أو كتابة عدد من البايتات يتحكم به العميل، متجاوزاً حدود المخزن المؤقت للطلب. مسار الكتابة يتطلب عملاء (clients) ذات تبادل بايت معكوس (byte-swapped)، وهو معطل بشكل افتراضي. القراءة يمكن أن تؤدي إلى كشف معلومات حساسة، والكتابة يمكن استخدامها لتعطيل الخادم أو تصعيد الصلاحيات إذا كان يعمل كجذر .
8. كشف معلومات بعد الاستخدام الحر في CreateSaverWindow (CreateSaverWindow Use-After-Free Information Disclosure)
عميل يمكنه استدعاء قراءة Use-After-Free بعد تغيير سمات النافذة وإجبار شاشة التوفير. هذا يمكن أن يؤدي إلى كشف معلومات، قد تتضمن بيانات حساسة من عمليات أخرى .
9. كتابة خارج الحدود في DRI2 (DRI2 DRIGetBuffers/DRIGetBuffersWithFormat Out-Of-Bounds Write)
عميل يطلب عدة مرفقات DRI2BufferBackLeft ولكن مرفق DRI2BufferFrontLeft واحد فقط يمكنه تشغيل كتابة خارج حدود الذاكرة المخصصة في منطقة Heap. هذه الثغرة تم اكتشافها بواسطة بيتر هوتيرير نفسه، وليس بواسطة الذكاء الاصطناعي .
الذكاء الاصطناعي كأداة لكشف الثغرات
من اللافت في هذا الإعلان أن 8 من أصل 9 ثغرات تم اكتشافها بواسطة “TrendAI Zero Day Initiative”، وهي مبادرة من شركة Trend Micro تستخدم تقنيات الذكاء الاصطناعي المتقدم لتحليل الكود البرمجي واكتشاف نقاط الضعف . هذا يعكس اتجاهاً متزايداً في صناعة الأمن السيبراني حيث أصبحت أدوات الذكاء الاصطناعي قادرة على تحليل قواعد كود ضخمة وتحديد الأنماط الخطيرة التي قد تفلت من المراجعة البشرية التقليدية. كما علق Michael Larabel من Phoronix: “مع الاستخدام المتزايد للذكاء الاصطناعي في أبحاث الأمن، سيكون من المثير للاهتمام معرفة عدد المشكلات الإضافية التي سيتم اكتشافها هذا الصيف” .
الترقية: خطوة إلزامية لجميع المستخدمين
نظراً لخطورة الثغرات وتصنيف بعضها على أنه يسمح بتنفيذ تعليمات برمجية عن بُعد وتصعيد صلاحيات، فإن تحديث خادم X.Org و Xwayland يعتبر إلزامياً لجميع المستخدمين، خاصة أولئك الذين يستخدمون:
- أنظمة متعددة المستخدمين (مثل الخوادم الجامعية أو مكاتب العمل المشتركة)
- أجهزة سطح المكتب التي تعمل بخادم X11 (بدلاً من Wayland)
- أي نظام يعيد توجيه جلسات X11 عبر SSH (وهو أمر شائع في التطوير عن بُعد)
كيفية التحديث على لينكس
على التوزيعات الحديثة، يجب أن تصل التحديثات عبر مدير الحزم المعتاد.
# على أوبونتو/ديبيان ومشتقاتها
sudo apt update
sudo apt upgrade xserver-xorg xwayland
# على فيدورا
sudo dnf upgrade xorg-x11-server-Xorg xorg-x11-server-Xwayland
# على آرتش لينكس
sudo pacman -Syu xorg-server xorg-server-xwayland
# على أوبن سوزي
sudo zypper update xorg-x11-server xorg-x11-server-Xwayland
إذا لم تكن التحديثات متوفرة بعد في مستودعات توزيعتك، فيمكنك متابعة إصدارات X.Org عبر GitLab أو انتظار بضعة أيام حتى تقوم فرق التوزيعة بتضمين الحزم المُصَلحة. في هذه الأثناء، يُنصح بتجنب تشغيل تطبيقات X11 غير الموثوقة أو الاتصال بخوادم X عبر SSH إذا لم تكن مضطراً لذلك.
لماذا لا تزال هذه الثغرات تظهر؟
ليس سراً أن كود X.Org قديم ومعقد. التصريح الشهير “إنها كارثة وهي أسوأ مما تبدو” (It’s a disaster, and it’s worse than it looks) لا يزال يتردد في أروقة المطورين . قاعدة الكود الضخمة التي تطورت على مدى عقود، مع العديد من المساهمين وتحت ضغوط مختلفة، أدت إلى وجود “منطقة موت” للثغرات الأمنية. مع تحول الصناعة نحو Wayland، يتركز الاهتمام والتطوير على بروتوكول العرض الأحدث والأكثر أماناً، بينما يُترك X.Org في حالة صيانة (maintenance mode) نسبياً، وهو ما يفسر استمرار اكتشاف ثغرات جديدة فيه.
خلاصة
X.Org Server 21.1.23 و Xwayland 24.1.12 هما تحديثان لا يقبلان التفاوض. إذا كنت تستخدم أي نظام يعتمد على X11 (أو Xwayland لتشغيل تطبيقات X11 على Wayland)، فيجب عليك تحديث حزمك فوراً. الثغرات الـ 9 التي تم إصلاحها، والتي اكتشف الذكاء الاصطناعي معظمها، تذكرنا بأهمية الاستمرار في تحديث البنى التحتية القديمة والتحول التدريجي إلى أنظمة أكثر أماناً مثل Wayland.
روابط سريعة
https://lists.x.org/archives/xorg-announce/2026-June/003702.html
التفاعلات والتعليقات
سجّل الدخول بحساب GitHub للتعليق أو التفاعل. مدعوم بـ Giscus (مخزَّن في GitHub Discussions)