سُحبت الثقة من جهة إصدار شهادات. هل يعرف تطبيق Node لديك؟
المتصفح على جهازك حماه مطوّره هذا الأسبوع. أما خدماتك الخلفية فلم يحمها إلا من حدّثها. بحسب متتبّع الحوادث pwn.watch، أبلغ باحث يوم 18 أكتوبر 2026 أن المفاتيح الخاصة لثماني جهات وسيطة من سلسلة eMudhra Global TLS ضعيفة تشفيريًا ويمكن استرجاعها، فحجبتها Mozilla وChrome وApple وMicrosoft، وألغتها eMudhra يوم 19 أكتوبر. وفي 22 أكتوبر أعلنت الشركة خروجها من سوق شهادات SSL/TLS العالمية. إن كنت تكتب PHP أو Node.js فهذا الخبر يخص خوادمك أكثر مما يخص متصفحك.
ما حدث، كما تقوله الشركة وكما يرويه المتتبّع
يقول بيان eMudhra إنها ألغت الجهات المتأثرة خلال 14 ساعة من اكتشاف المشكلة وأفصحت عنها سريعًا، وهذا رقم الشركة نفسها. ويقول البيان أيضًا إنه لم تصدر أي شهادة نهائية من تلك الجهات، وإن بنيتها لم تُخترق ولم تتسرب بيانات، وإن هذا النشاط يمثل نحو 1% من إيراداتها. ستبقى جذور G1 RSA تخدم العملاء خلال فترة الانتقال، وسيحصل المتأثرون على شهادات بديلة مجانًا عبر شركاء، وتستمر خدمات الإلغاء والحالة حتى تنتهي صلاحية كل شهادة صادرة أو تُستبدل.
ويضيف pwn.watch أن الجذر من نوع ECC سُحبت الثقة منه احتياطًا، وأن بيئات التشغيل التي تحمل قائمة ثقة خاصة بها، ويذكر منها Go وNode.js وElectron وcertifi في Python وcurl، احتاجت تحديثًا عاجلًا لحزمة الشهادات. صفحة إصدارات الأمان في Node.js لشهر أكتوبر 2026 تؤكد نصيبها: فيها تحديث ca-cert بسبب هذه الحادثة على الفروع 26.x و24.x و22.x.
قائمة متصفحك ليست قائمة خادمك
هذا القسم معرفة عامة بطريقة عمل عملاء TLS، وليس تفصيلًا من الحادثة. يقرر العميل بمن يثق من قائمة شهادات جذرية تسمى مخزن الثقة. المتصفحات وأنظمة التشغيل تحمل قوائمها وتحدّثها بنفسها. لكن كثيرًا من بيئات التشغيل والمكتبات تحمل نسختها الخاصة: Node.js يضمّ قائمة Mozilla داخل كل إصدار، وكود Python الذي يستخدم certifi يثق بملفها. وبيئات أخرى تقرأ مخزن النظام ما لم تُوجَّه لغير ذلك، فراجع توثيق البيئة التي تستخدمها بدل الافتراض.
لهذا يصل سحب الثقة إلى الناس بسرعات مختلفة. Chrome على جهازك حدّث نفسه. أما خدمة Node تتصل بواجهة دفع من صورة Docker بنيتها في أغسطس فما زالت تحمل قائمة أغسطس، وستبقى تثق بجهة وسيطة ملغاة حتى تتغير بيئة التشغيل أو الحزمة داخل تلك الصورة.
ماذا تفعل هذا الأسبوع
حدّث بيئة التشغيل في كل خدمة، ثم أعد بناء الصور ونشرها، لأن إصدارًا جديدًا من Node.js على جهازك لا يغيّر شيئًا داخل صورة تعمل بالفعل. وحيث يوجد Python حدّث certifi أيضًا.
node --version
docker build --pull --no-cache -t my-api .
pip install --upgrade certifi
إن بدأ اتصال يفشل بخطأ شهادة بعد التحديث فهذه هي الحماية تعمل. لا تضبط NODE_TLS_REJECT_UNAUTHORIZED=0 ولا تمرّر rejectUnauthorized: false لإسكات الخطأ، فهذا يوقف التحقق في كل اتصال تجريه العملية لا في الاتصال المعطوب وحده. اعرف أي شهادة يقدمها الطرف الآخر واطلب استبدالها، وتقول eMudhra إن العملاء المتأثرين يحصلون على البديل دون تكلفة.
الخطوة التالية: افتح ملف Dockerfile لأقدم خدمة تعمل لديك، وانظر تاريخ صورتها الأساسية، وأعد بناءها اليوم. ثم أضف مراقبة لانتهاء صلاحية الشهادات ولسجلات Certificate Transparency لنطاقاتك، حتى يصلك أي تغيير في جهة إصدارها قبل أن يصل مستخدميك.
المصدر: بيان eMudhra الصحفي، 22 أكتوبر 2026، وإصدارات الأمان في Node.js لشهر أكتوبر 2026.
ملاحظات القراء