نظرة عامة
| المعلومة | القيمة |
|---|---|
| المكوّن المتأثر | snap-confine — الأداة المسؤولة عن عزل (Sandbox) تطبيقات Snap بنظام Ubuntu |
| رقم CVE | CVE-2026-8933 |
| الخطورة | CVSS 7.8 (مرتفعة) |
| نوع الثغرة | تسابق حالة (Race Condition) أثناء تهيئة العزل يؤدي لتصعيد صلاحيات محلي إلى Root |
| الإصدارات المتأثرة | Ubuntu Desktop 24.04 و25.10 و26.04 (التثبيتات الافتراضية التي تعتمد على Snap) |
| الصلاحيات المطلوبة للاستغلال | حساب مستخدم محلي عادي (غير مصادَق كمدير) — لا حاجة لصلاحيات خاصة مسبقاً |
| الجهة المكتشِفة | فريق أبحاث التهديدات بشركة Qualys (سعيد عباسي، رئيس وحدة أبحاث التهديدات) |
| حالة الاستغلال | لا توجد مؤشرات على استغلال فعلي أو إثبات مفهوم (PoC) عام حتى وقت الكشف |
| حالة التصحيح | تحديثات snapd متوفرة — يُنصح بالتحديث الفوري لأحدث إصدار |
ما هو snap-confine ولماذا يهم؟
نظام Snap هو صيغة حزم برمجية طوّرتها Canonical (الشركة المطوّرة لأوبنتو) لتوزيع التطبيقات بشكل معزول عن باقي النظام، بحيث لا يستطيع التطبيق الوصول لملفات أو موارد خارج الصلاحيات الممنوحة له. الأداة المسؤولة فعلياً عن بناء هذا العزل قبل إطلاق أي تطبيق Snap تُسمى snap-confine — وهي عملية تُشغَّل بصلاحيات مرتفعة (قريبة من Root) لأنها تحتاج لإعداد مساحات أسماء (Namespaces) وقيود Cgroups وربط أنظمة ملفات معزولة قبل تسليم التحكم للتطبيق نفسه بصلاحياته المحدودة.
هذه الطبيعة بالذات — تشغيل كود بصلاحيات شبه كاملة لفترة قصيرة جداً أثناء التهيئة — هي ما يجعل أي خلل بمنطق هذا التسلسل خطيراً بشكل خاص: أي نافذة زمنية (ولو ملي ثانية) يحتفظ فيها المستخدم العادي بسيطرة فعلية أثناء تلك المرحلة تتحول لفرصة استغلال.
آلية الثغرة: نافذة تسابق مزدوجة أثناء التهيئة
بحسب فريق Qualys، الثغرة نتجت عن تعديل تحسيني بالتحصين الأمني (Security Hardening) أُدخل على snap-confine لكنه أدخل عن غير قصد ثغرة تسابق حالة (Race Condition) أثناء تهيئة بيئة العزل. جوهر المشكلة أن snap-confine يحتفظ بصلاحيات شبه Root بينما لا يزال يُنفَّذ فعلياً بمعرّف المستخدم (UID) الفعّال الخاص بالمستخدم الذي استدعى العملية.
كما شرح الباحثون:
“During sandbox setup, the binary creates temporary directories and files under /tmp that are initially owned by the unprivileged user. Ownership is transferred to root shortly after, but a narrow window remains during which the caller retains full control.” الترجمة: “أثناء إعداد بيئة العزل، تُنشئ الأداة مجلدات وملفات مؤقتة تحت
/tmpتكون في البداية مملوكة للمستخدم غير المتميّز. تُنقَل الملكية لاحقاً إلى Root، لكن تبقى نافذة زمنية ضيقة يحتفظ خلالها المستدعي (المستخدم العادي) بسيطرة كاملة.”
الاستغلال الفعلي يعتمد على تسابقين متزامنين:
- تركيب نظام ملفات FUSE خبيث فوق المجلد المؤقت (Scratch Directory) فور إنشائه، بشكل يتجاوز عزل مساحة أسماء التركيب (Mount Namespace) المفترض حمايتها.
- إنشاء رابط رمزي (Symbolic Link) يعيد توجيه عمليات الملفات لاحقاً نحو مواقع حساسة بالنظام بدلاً من المسار الأصلي المقصود.
باستغلال هذه النافذة الضيقة، يستطيع المهاجم حقن قواعد ضارة داخل /run/udev/rules.d/ — وهو المجلد الذي يقرأ منه خادم systemd-udevd قواعد التعامل مع الأجهزة. بما أن systemd-udevd يعمل بصلاحيات Root، فإن أي قاعدة مزروعة هناك تُنفَّذ بصلاحيات Root الكاملة، ما يمنح المهاجم تصعيد صلاحيات كامل من مستخدم عادي إلى مدير النظام.
لماذا يُعد هذا خطيراً بشكل خاص؟
- التثبيتات الافتراضية متأثرة: أوبنتو يعتمد على Snap لتثبيت تطبيقات أساسية عديدة بالنسخ المكتبية الحديثة، ما يعني أن
snap-confineموجود ومُفعَّل على نسبة كبيرة جداً من أجهزة أوبنتو دون أي إعداد إضافي من المستخدم. - لا حاجة لأي صلاحيات مسبقة: أي حساب مستخدم محلي عادي — سواء كان مستخدماً شرعياً لديه وصول محدود، أو مهاجماً حصل على تنفيذ كود محدود الصلاحيات عبر ثغرة أخرى — يستطيع استغلال هذه الثغرة للقفز مباشرة إلى Root.
- يُستخدم غالباً كخطوة تالية بعد اختراق أولي: هذا النوع من ثغرات تصعيد الصلاحيات المحلية نادراً ما يكون نقطة الدخول الأولى للمهاجم، لكنه أداة قيّمة جداً لتحويل موطئ قدم محدود (مثلاً عبر Reverse Shell بصلاحيات محدودة) إلى سيطرة كاملة على الجهاز.
الإصدارات المتأثرة والتصحيح
| الإصدار | الحالة |
|---|---|
| Ubuntu Desktop 24.04 LTS | متأثر — يتطلب تحديث snapd |
| Ubuntu Desktop 25.10 | متأثر — يتطلب تحديث snapd |
| Ubuntu Desktop 26.04 | متأثر — يتطلب تحديث snapd |
لم يُحدَّد بالمقال الأصلي رقم إصدار snapd الدقيق الذي يحتوي التصحيح، لكن Canonical أصدرت تحديثات لمعالجة الثغرة، والتوصية الرسمية هي تحديث الحزمة لأحدث نسخة متوفرة عبر مستودعات أوبنتو الرسمية.
إثبات المفهوم (PoC) والاستغلال الفعلي
حتى وقت نشر الكشف، لم تُذكَر أي مؤشرات على استغلال فعلي بالبيئة الحقيقية، ولم يُشر المقال الأصلي لتوفر كود إثبات مفهوم (PoC) علني. مع ذلك، فإن طبيعة الثغرة — تسابق حالة موثّق بدقة مع خطوات استغلال واضحة (FUSE + رابط رمزي + حقن قواعد udev) — تجعلها مرشحة قوية لظهور استغلال عملي خلال فترة قصيرة، كما جرت العادة مع ثغرات تصعيد الصلاحيات المحلية المشابهة بعد نشر تفاصيلها التقنية.
كيف تحمي نفسك؟
- حدّث
snapdفوراً لأحدث إصدار متوفر عبرapt update && apt upgrade snapdعلى جميع أجهزة أوبنتو المتأثرة. - لا تعتمد فقط على العزل الافتراضي لـ Snap كحاجز أمني وحيد على الأجهزة متعددة المستخدمين — طبّق مبدأ الصلاحيات الأدنى (Least Privilege) على مستوى النظام ككل.
- راقب مجلد
/run/udev/rules.d/بحثاً عن أي قواعد غير متوقعة أو غير موثّقة كمؤشر محتمل على استغلال سابق. - تابع نشرات أمان Canonical (USN) الخاصة بحزمة snapd للتأكد من تطبيق التحديث الصحيح على كل الأجهزة المُدارة.
ملاحظات
- الخبر الأصلي كتبه الصحفي Ravie Lakshmanan على The Hacker News بتاريخ 22 تموز/يوليو 2026.
- الاكتشاف يعود لفريق أبحاث التهديدات بشركة Qualys برئاسة الباحث سعيد عباسي (Saeed Abbasi) — وهو فريق معروف بنشر أبحاث دورية حول ثغرات تصعيد الصلاحيات بأنظمة Linux.
- هذه الثغرة مثال إضافي على كيف أن تعديلاً يُقصَد به تحسين الأمان (Security Hardening) قد يُدخِل بدوره ثغرة جديدة إن لم تُختبَر حالات التسابق (Race Conditions) بعناية كافية.
المصدر
المقال الأصلي: Ubuntu snap-confine Flaw Could Give Local Users Root on Default Desktop Installs