نظرة عامة تنفيذية والأهمية المعمارية
في 30 سبتمبر 2026، تلقت Docker تقريراً بحرجة ثغرة أمنية عبر برنامج الكشف عن الثغرات الأمنية الخاص بها (والمتعقب تحت رقم CVE-2026-105445) يتعلق بإدارة الهوية والوصول (IAM) داخل Docker Hub. اكتشف الباحثان الأمنيان بيتر مولنار وكريستيان هوزاك خللاً معمارياً في ميزة تحويل الحسابات الخاصة بالمنصة — وتحديداً الآلية التي تسمح بتحويل الحساب الشخصي (على سبيل المثال، alice/app) إلى حساب مملوك لمؤسسة دون كسر مراجع سحب Docker الحالية. وأكد الفريق الهندسي وجود الثغرة ونشر إصلاحاً للإنتاج في أقل من أربع ساعات، مما يُظهر دورة حياة نموذجية للاستجابة للحوادث (IRL).
من منظور هندسة البرمجيات، كشفت هذه الثغرة عن اقتران خطير بين تحويل الحالة (تحويل الحساب) وتفويض ملكية بيانات الاعتماد. عندما تم تحديث منطق التحويل في Docker Hub في 26 أغسطس 2024، قام بطريق الخطأ بإعادة تعيين رموز الوصول الشخصية (PATs) إلى مالك المؤسسة المعين حديثاً دون تدوير الأسرار، أو إبطال الرموز، أو مطالبة المستخدم بموافقة صريحة. أنشأ هذا السهو ناقل ثغرة أمنية حرجة في سلسلة توريد البرمجيات، مما يتيح إجراءات غير مصرح بها على مستوى السجل تحت هويات مستخدمين مستهدفين غافلين. على الرغم من أن عمليات التدقيق الجنائي الشاملة التي غطت أكثر من 304,000 عملية دفع مدفوعة بالرموز لم تكشف عن أي استغلال نشط أو حمولات خبيثة، إلا أن الحادث يؤكد الآثار الوخيمة لمسارات تصعيد الصلاحيات الضمنية في بنيات السجل السحابي الأصلي.
التحسينات الأساسية وبيئة عمل المطورين
لمعالجة الثغرة CVE-2026-105445 وتأمين محيط إدارة الهوية والوصول (IAM) في Docker Hub، قامت Docker بإصلاح جذري لأنظمة فرعية لتحويل الحسابات وإدارة الرموز الخاصة بها. التغيير الهندسي الأساسي يفصل تماماً استمرارية رموز الوصول الشخصية عن سير عمل تحويل الحساب إلى مؤسسة. بموجب البنية المحدثة، لم تعد عمليات التحويل تورث أو تنقل أو تحور سجلات ملكية رموز الوصول الشخصية (PAT) الحالية. وبدلاً من ذلك، يُطلب الآن صراحةً من المطورين ومديري المؤسسات إعادة إنشاء رموز الأتمتة اللازمة بعد التحويل، والاستفادة من رموز الوصول المخصصة للمؤسسات (OATs) كمعيار تشفير للبنية التحتية المشتركة.
بالإضافة إلى إزالة ترحيل الرموز من خط أنابيب التحويل، أدخلت Docker فحوصات تفويض صارمة مدفوعة بالموافقة وسجلات قياس عن بعد قابلة للمراجعة. تؤدي تسمية مستخدم خارجي كمالك للمؤسسة الآن إلى تشغيل سير عمل موافقة إلزامية متعددة الأطراف وإشعارات في الوقت الفعلي، مما يمنع الارتباطات التعسفية. علاوة على ذلك، يتم الآن تسجيل كل انتقال لملكية بيانات الاعتماد داخل سجل حالة غير قابل للتغيير وقابل للمراجعة. تحسن هذه التحسينات المعمارية بشكل كبير من بيئة عمل المطورين من خلال إنشاء حدود شفافة لبيانات الاعتماد مع القضاء على الآثار الجانبية الخفية أثناء التحولات الإدارية.
مصفوفة المقارنة المعمارية
| الناحية المعمارية | الأساس السابق (قبل الإصلاح) | الإصدار الحالي (docker-hub-security-advisory-per) |
|---|---|---|
| زمن الانتقال ومعالجة IAM | نقل حالة فوري وضمني لرموز (PATs) خلال إجراءات تحويل الحساب إلى مؤسسة. | فحوصات تفويض متزامنة في الوقت الفعلي تتطلب موافقة صريحة من المستخدم ومعالجة مفصولة. |
| الذاكرة وتتبع حالة الرموز | تعيين متطاير في الذاكرة لملكية الرموز القابلة للتحور عبر إجراءات إدارية من جانب واحد. | سجلات رموز معزولة تشفيرياً مع تتبع تاريخ حالة غير قابل للتغيير وقابل للمراجعة. |
| نقاط نهاية واجهة برمجة تطبيقات السجل | سمحت نقاط نهاية التحويل القديمة بتصعيد نطاق بيانات الاعتماد بصمت عبر حدود المستخدمين. | مسارات واجهة برمجة تطبيقات مقواة ترفض تورث الرموز عبر المستخدمين وتفرض تحققاً صارماً من رموز (OAT). |
التغييرات الجذرية وتنبيهات الترحيل
يقدم هذا الإصدار تغييرات جذرية مهمة على واجهات برمجة تطبيقات تحويل الحساب وإدارة بيانات الاعتماد في Docker Hub. والأهم من ذلك، أن رموز الوصول الشخصية (PATs) لم تعد تنتقل تلقائياً عند تحويل الحساب الشخصي إلى مؤسسة. ستواجه أي خطوط أنابيب تكامل ونشر مستمر (CI/CD) مؤتمتة أو عمليات برمجية لسجل Docker تعتمد على آليات ترحيل رموز (PAT) القديمة اخفاقات في المصادقة إذا لم يتم إعادة إنشاء الرموز يدويًا.
علاوة على ذلك، فرضت Docker إلغاء تنشيط إجباري لجميع رموز (PAT) التاريخية التي تم نقلها بشكل غير صحيح خلال نافذة التعرض (من 26 أغسطس 2024 حتى 30 سبتمبر 2026)، باستثناء رموز محددة تم استثناؤها صراحة بناءً على طلب المستخدم قبل الموعد النهائي في 8 أكتوبر. تم إيقاف التوافق مع الإصدارات السابقة لترحيل الرموز الضمنية بالكامل وإزالته امتثالاً للأمان.
دليل الترقية خطوة بخطوة
لضمان عمل السجل دون انقطاع وتأمين مؤسستك ضد مخاطر IAM المتبقية، اتبع سير عمل الترحيل العملي هذا:
تدقيق رموز الوصول الشخصية الحالية: انتقل إلى إعدادات الحساب (Account Settings) في Docker Hub، وحدد رموز الوصول الشخصية (Personal access tokens)، وراجع جميع بيانات الاعتماد النشطة. قم بإلغاء أي رموز غير موثوقة أو قديمة أو غير مستخدمة.
ترحيل الأتمتة إلى رموز الوصول للمؤسسات: استبدل رموز الوصول الشخصية المستخدمة في خطوط أنابيب CI/CD المشتركة برموز الوصول للمؤسسات (OATs) المرتبطة مباشرة بالمؤسسة المستهدفة بدلاً من حساب مستخدم فردي.
التحقق من التكوين عبر واجهة سطر الأوامر (CLI): اختبر بيانات الاعتماد المحدثة عن طريق مصادقة عميل Docker الخاص بك مقابل السجل:
echo "<your-organization-access-token>" | docker login --username <org-name> --password-stdin
