ما الذي يصلحه الإصدار 26.4.303 من richdocumentscode
ثغرة CVE-2026-110447 هي حقن أوامر في نظام التشغيل دون مصادقة، مصنّفة CWE-78 وتقييمها 9.2 وفق CVSS 4.0 في إشعار Collabora. وهي تمسّ تطبيقًا واحدًا فقط: Collabora Online - Built-in CODE Server، ومعرّفه richdocumentscode، وهو وحدة اختيارية في Nextcloud تضمّ خادم Collabora داخل التطبيق نفسه. نقطة الدخول هي الملف proxy.php في التطبيق. ويذكر الإشعار أن طلبًا واحدًا قد يجعل النظام ينفّذ أمرًا بصلاحيات مستخدم خادم الويب.
الإصلاح هو الإصدار 26.4.303: تاريخ الـ commit هو 9 سبتمبر 2026، والإصدار متاح منذ 11 سبتمبر 2026. أما الإشعار فلم يُنشر إلا في 14 أكتوبر 2026، أي بعد أكثر من شهر. وتعزو Collabora التأخير إلى تراكم معالجة معرّفات CVE على GitHub. والنتيجة العملية: قد يكون خادم تأخر في التحديث قد تعرّض للهجوم قبل أن يوجد المعرّف بوقت طويل. ينطلق هذا المقال من هذه الحقيقة، ولذلك يعالج مسألتين لا مسألة واحدة: الإصلاح، والبحث عن الآثار.
ما هو معروف عن الاستغلال
- شرط الهجوم — يحدد الإشعار أن الهجوم لا ينجح إلا عندما لا يكون خادم CODE المدمج قيد التشغيل: إعادة تشغيل حاوية، تحديث، أو انهيار. لا يلزم تسجيل دخول ولا تفاعل من مستخدم.
- بداية الهجمات — يفيد مسؤولو الأنظمة بأولى الهجمات في 10 و11 سبتمبر 2026 على الإصدار 26.4.302. وتتحدث BleepingComputer عن منتصف سبتمبر؛ والمصادر تختلف بأيام قليلة، ولا نحسم ذلك.
- مدرجة في كتالوج KEV — أضافت CISA الثغرة CVE-2026-110447 إلى كتالوج الثغرات المستغَلة في 23 أكتوبر 2026، بمهلة فيدرالية حتى 26 أكتوبر. فالاستغلال مرصود وليس نظريًا.
- ما بحث عنه المهاجمون — webshells بلغة PHP تُزرع في الخادم، ثم البحث عن قواعد كلمات المرور ومديري كلمات المرور ومحافظ العملات المشفّرة.
- برمجيات الفدية: غير مؤكدة — أشار مستخدمون إليها في بلاغ المشروع، ولم تتمكن BleepingComputer من تأكيدها. ننقلها كإشاعة لا أكثر.
- عدد الخوادم المتضررة — غير معروف. لا يقدّم أي مصدر أولي رقمًا.
الإصدارات المتأثرة والمصححة والإعدادات غير المعنية
مرّر الجدول أفقيًا
| الإعداد | الحالة | الإجراء |
|---|---|---|
| تطبيق `richdocumentscode` بإصدار أقدم من 26.4.303 | معرّض للثغرة | التحديث إلى 26.4.303 أو أحدث، أو حذف التطبيق |
| تطبيق `richdocumentscode` بإصدار 26.4.303 أو أحدث | مصحَّح | ابحث مع ذلك عن آثار تسبق التحديث |
| تطبيق `richdocumentscode` معطَّل فقط | غير محمي | التعطيل لا يكفي: حدّث أو احذف |
| خادم Collabora Online مستقل | غير معني بحسب Collabora | لا إجراء مرتبط بهذه الثغرة |
| Collabora على Docker أو حزمة RPM/DEB | غير معني بحسب Collabora | لا إجراء مرتبط بهذه الثغرة |
| Nextcloud All-in-One | غير معني بحسب Collabora | لا إجراء مرتبط بهذه الثغرة |
| Nextcloud 29 أو أقدم | انتهى دعمه | حدّث Nextcloud أو احذف التطبيق |
CODE المدمج أم خادم خارجي: كيف تعرف
كثير من المسؤولين لا يعرفون أيّ النوعين يستخدمون، لأن تطبيق Nextcloud Office يعرض المحرّر نفسه في الحالتين. والفارق يُقرأ في مكان آخر. خادم Collabora «الخارجي» خدمة مستقلة (حاوية أو حزمة أو جهاز مخصص) يتصل بها Nextcloud عبر عنوان URL يُدخَل في إعدادات Nextcloud Office. أما الخادم «المدمج» فهو تطبيق Nextcloud إضافي هو richdocumentscode، ينزّل خادمًا محليًا ويشغّله.
فالمعيار الموثوق إذن هو وجود التطبيق، لا العنوان الظاهر في الإعدادات. إن كان richdocumentscode مثبّتًا فأنت ضمن نطاق الإشعار، سواء كان مفعّلًا أم لا. وإن لم يكن موجودًا فهذه الثغرة لا تعنيك حتى لو كنت تستخدم Collabora. ويشير أحد المشاركين في منتدى Nextcloud كذلك إلى أن التثبيتات التي تستخدم richdocuments دون richdocumentscode غير متأثرة.
جرد خادم واحد ثم أسطول كامل في خمس خطوات
اعرض التطبيقات المثبّتة
من مجلد Nextcloud أو من داخل الحاوية، نفّذ
sudo -E -u www-data php occ app:list | grep richdocumentscode. كيّف المستخدم والمسار مع تثبيتك. ظهور سطر في الناتج يعني أن التطبيق موجود، مفعّلًا (Enabled) كان أم لا (Disabled).اقرأ الإصدار المثبّت
نفّذ
sudo -E -u www-data php occ config:app:get richdocumentscode installed_version. إذا كان الرقم أقل من 26.4.303 فالتثبيت ضمن نطاق الإشعار.انظر ما الذي يستخدمه Nextcloud Office
افتح إعدادات Nextcloud Office ودوّن عنوان URL لخادم Collabora. هذه الخطوة لا تغني عن الخطوة 1: وجود التطبيق يتقدم على العنوان المعروض.
قارن بالتحديثات المتاحة
الأمر
sudo -E -u www-data php occ app:update --showonlyيعرض تحديثات التطبيقات المقترحة دون تطبيقها. تحقق من ظهورrichdocumentscodeفيه.كرّر على كل خادم وسجّل النتيجة
في أسطول من الخوادم، نفّذ الأوامر الثلاثة نفسها عبر SSH على كل نسخة عميل والصق النتائج في جدول: العميل، الخادم، وجود التطبيق، الإصدار، تاريخ الفحص. هذا الجدول هو ما يتيح لك الرد على عميل يسأل هل هو معنيّ.
التعطيل لا يكفي: حدّث أو احذف
رد الفعل المعتاد هو تعطيل التطبيق مؤقتًا. وإشعار Collabora لا لبس فيه: لا يكفي تعطيل التطبيق، بل يجب تحديثه إلى 26.4.303 أو أحدث، أو حذفه. يبقى الملف المعرّض للثغرة على القرص ما دام التطبيق لم يُزَل، والإشعار لا يقول إن الملف المعطَّل يصبح غير قابل للوصول.
اختر بحسب الاستخدام. إذا كان مستخدموك يحررون المستندات بالخادم المدمج فحدّث. وإذا كنت لا تستخدمه، أو لديك خادم Collabora خارجي، فاحذف التطبيق: هذا هو الخيار الوحيد الذي يزيل سطح الهجوم. وإذا كان Nextcloud لديك بالإصدار 29 أو أقدم فهو لم يعد مدعومًا: ويطلب الإشعار تحديث Nextcloud نفسه أو حذف التطبيق.
الإصلاح: التحديث أو الحذف
خذ نسخة احتياطية قبل التدخل
التقط لقطة للجهاز أو نسخة احتياطية من قاعدة البيانات ومجلد البيانات. وإذا كنت تشك أصلًا في اختراق فاحتفظ بنسخة من السجلات قبل أي تعديل: ستفيدك في البحث عن الآثار أدناه.
حدّث التطبيق
sudo -E -u www-data php occ app:update richdocumentscode. ثم أعد تنفيذocc config:app:get richdocumentscode installed_versionللتأكد من أن الرقم 26.4.303 أو أعلى.أو احذف التطبيق
sudo -E -u www-data php occ app:remove richdocumentscode. يعطّل الأمر التطبيق ثم يزيله، والخيار--keep-dataيحتفظ ببياناته. تأكد بـocc app:listالذي لا ينبغي أن يذكره بعد ذلك.أعد تشغيل الخدمة المعنية
أعد تشغيل PHP-FPM أو حاوية Nextcloud حتى لا تحتفظ أي عملية بالشيفرة القديمة في الذاكرة. وتذكّر أن شرط الاستغلال هو بالضبط إعادة تشغيل الخادم المدمج أو انهياره.
تحقق من النتيجة
أعد الجرد الوارد في القسم السابق: يجب أن يكون التطبيق غائبًا أو بالإصدار 26.4.303 على الأقل. دوّن تاريخ الإصلاح ووقته، فهما حدٌّ زمني في البحث عن الآثار.
خادم حُدِّث اليوم قد يكون اختُرق قبل ذلك
التحديث يغلق الباب، لكنه لا يقول شيئًا عما دخل بالفعل. فأولى الهجمات المبلَّغ عنها تعود إلى 10 سبتمبر 2026، وأفاد أحد المسؤولين في منتدى Nextcloud ببقاء ملف خبيث بعد التحديث. فالخادم المحدَّث ليس بالضرورة خادمًا سليمًا.
لا يسرد الإشعار الرسمي أي مؤشر اختراق. وما يلي ليس قائمة مؤشرات رسمية: إنه أسلوب بحث عام، مع ما أبلغ عنه مسؤولو الأنظمة في البلاغ richdocumentscode#354 بمستودع المشروع. وتنطبق قاعدة بسيطة على كل ما يلي: لا يثبت أي من هذه الفحوص غياب الاختراق، فهي لا تستطيع إلا كشفه.
أسلوب البحث عن الآثار (عام وقابل للتكييف)
- ملفات PHP حديثة — الأمر
find /var/www/nextcloud/apps/richdocumentscode -name '*.php' -newermt 2026-09-01يسرد ملفات PHP المعدَّلة منذ 1 سبتمبر في مجلد التطبيق. افعل الأمر نفسه على مجلد البيانات حيث لا مبرر لوجود أي ملف PHP. - الأسماء المبلَّغ عنها — عثر مسؤولون على ملفات
shx*.phpفي مجلد Nextcloud (البلاغ #354)، وعثر آخر على ملف باسم مختلف فيapps/richdocumentscode/. البحث عنshx*.phpمفيد، لكن غياب هذا الاسم لا يثبت شيئًا: فللمهاجمين أن يختاروا اسمًا آخر. - المقارنة بالأرشيف الرسمي — نزّل إصدار التطبيق من الكتالوج الرسمي وفكّ ضغطه في مجلد مؤقت وقارنه بـ
diff -r. كل ملف زائد أو مختلف مشبوه. - فحص سلامة Nextcloud — اكتشف أحد المسؤولين ملفه الخبيث لأن فحص السلامة أبلغ عنه. شغّله واقرأ النتيجة.
- سجلات خادم الويب — الأمر
zgrep -hE 'proxy\.php.*(%2e%2e|IFS)' /var/log/nginx/access.log*يبحث عن الطلبات إلىproxy.phpالتي تحمل التسلسل%2e%2eأو متغيّر الصدفة IFS. وكانت الطلبات المبلَّغ عنها في البلاغ تستهدف/apps/richdocumentscode/proxy.php?status؛ وينصح أحد مسؤولي المنتدى بالرجوع إلى 10 سبتمبر. كيّف المسار مع Apache أو مع تدوير السجلات لديك. - عمليات غريبة — لاحظ مسؤولون عمليات
coolwsdوcoolforkit-nsتحت مستخدم خادم الويب مع حمولة في الوسيطremote_font_config.url. وهذه العمليات موجودة أيضًا بصورة مشروعة عند تشغيل الخادم المدمج؛ الشاذ هو محتوى الوسيط.
إذا وجدت شيئًا: فالجهاز مخترق
تنفّذ الـ webshell أوامر بصلاحيات مستخدم خادم الويب. فاعتبر كل ما يستطيع هذا المستخدم قراءته مكشوفًا: ملف config.php في Nextcloud (بيانات قاعدة البيانات والأسرار)، وكلمات مرور التطبيقات، ومفاتيح SSH والرموز التي يقرؤها، والتخزين الخارجي المركّب. غيّر هذه الأسرار ثم استعد من نسخة احتياطية تسبق 10 سبتمبر 2026 بدل «تنظيف» الجهاز في مكانه. وإن كان الجهاز لعميل فأبلغه: محتواه هو الذي انكشف.
أسطول Nextcloud لعملائك: من يتحمل ماذا
بالنسبة إلى الوكالة، هذه الثغرة ليست أمرًا واحدًا بل جرد. لكل عميل نسخته وإصداره، وأحيانًا تطبيق مثبّت «للتجربة» قبل عامين. وسؤال العميل متوقع: «هل نحن معنيّون، وهل تحققتم؟». والجواب الصادق هو الجدول الوارد في الخطوة 5 من الجرد مع تواريخ الفحص.
تتوزع المسؤولية ببساطة: أنت تدير العلاقة مع العميل وتقرر الإجراء (تحديث أو حذف أو استعادة)، ونحن نتولى البنية التحتية التي تعمل عليها هذه الخوادم. ومع حلول الوكالات من ServOrbit.com تجتمع في فضاء واحد خوادم كل عميل وتجديداته وأمانه، فلا تضطر إلى إعادة بناء الأسطول من جداول بيانات يوم التنبيه. وإن كنت مهنيًا تدير نسخة واحدة فصفحة حلول المهنيين تصف المرافقة المناسبة لك.
الحماية الدائمة: Collabora منفصل عن Nextcloud
بحسب Collabora فإن خوادم Collabora Online المستقلة وتثبيتات Docker وRPM/DEB وNextcloud All-in-One غير متأثرة. القاسم المشترك أن خادم التحرير يعيش في حاويته أو خدمته الخاصة، خارج شجرة PHP الخاصة بـ Nextcloud. وهذه هي بنية «sidecar» الموصوفة في دليلنا Nextcloud وCollabora وOnlyOffice: ولن نعيد الشرح هنا. وللبدء من الصفر يغطي استضافة Nextcloud مرحلة النشر.
هذا ليس حجة ضد التطبيق المدمج في حد ذاته، بل وسيلة لتقليص ما يجب مراقبته. ونشرنا كذلك دليلين آخرين للتحديث العاجل: PHP2Shell وnginx CVE-2026-15176: المنهج واحد، جرد فإصلاح فتحقق، ثم البحث عمّا قد يكون مرّ قبل ذلك.