دفعت Google مكافأة قدرها 90 ألف دولار للباحث الأمني Simon Köck بعد اكتشاف ثغرة تنفيذ أوامر عن بُعد غير موثقة في DevSite، المنصة المشتركة التي تدعم developers.google.com ومواقع توثيق أخرى. أبلغ Köck عن المشكلة في 6 أغسطس، قبلت Google التقرير في اليوم التالي، ووافقت على المكافأة في 27 أغسطس، لكن الإصلاح وصل إلى الخوادم في 7 أكتوبر.
صنّفت Google الثغرة بمستوى S0، وهو أعلى مستوى في مقياس خطورتها، ومنحت Köck مبلغاً أساسياً قدره 75 ألف دولار لثغرة RCE ضمن طبقة التطبيقات العادية، مع زيادة بنسبة 20% بسبب جودة التقرير الاستثنائية.
ثلاثة أخطاء كوّنت سلسلة الاستغلال
كان DevSite يخزن كائن OAuth2WebServerFlow متسلسلاً من مكتبة oauth2client المهجورة داخل ملف تعريف ارتباط لجلسة Flask. أدى ذلك إلى كشف سر عميل OAuth، لكن المشكلة أصبحت أخطر لأن السر نفسه استُخدم أيضاً مفتاحاً لتوقيع جلسات Flask.
تمكن Köck من إعادة إنتاج توقيع ملفات الارتباط محلياً وإنشاء جلسات مزورة يقبلها الخادم. وبما أن تدفق OAuth كان يستخدم pickle لإلغاء تسلسل بيانات الجلسة، استطاع استبدال الكائن بحمولة pickle خبيثة موقعة، ثم إثبات تنفيذ كود Python عن بُعد.
أكد الباحث التنفيذ باستخدام حمولة تؤخر الاستجابة عبر أمر sleep، وتوقف عمداً قبل تشغيل أوامر فعلية أو الوصول إلى الملفات أو بيانات الاعتماد أو الخدمات الداخلية. ووفقاً لروايته، قُبلت الجلسات المزورة على النطاقات السبعة المتأثرة، بينما نفّذ اختبار إثبات المفهوم على ثلاثة نطاقات هي developers.google.com وdocs.partner.android.com وweb.dev.
نطاق التأثير لم يُحسم بالكامل
لم يثبت Köck ما إذا كان الخادم يستطيع تعديل محتوى توثيق Google أو استبدال أوامر التثبيت وروابط التنزيل، وهو سيناريو كان يمكن أن يفتح الباب لهجوم على سلسلة توريد البرمجيات. كما لم يختبر ما إذا كانت الجلسات المزورة تتيح انتحال مستخدمين أو الوصول إلى بياناتهم.
وأشار الباحث Arvin Shivram، المعروف باسم @brutecat، إلى أن تطبيقات App Engine الداخلية قد تصل عادةً إلى Stubby، نظام Google الداخلي للاتصال بين الخدمات. قال Köck إن هذا الوصول، إن كان متاحاً لهذه العملية، قد يوسّع الأثر بدرجة كبيرة، لكنه لم يتحقق من صلاحيات DevSite أو نطاق وصوله إلى الخدمات الخلفية.
لماذا يهم هذا الخبر؟
تكشف الحالة أن الخطر لم ينتج عن خطأ واحد، بل عن اجتماع ثلاث ممارسات: كشف سر حساس داخل ملف ارتباط، إعادة استخدامه كمفتاح توقيع، واستخدام إلغاء تسلسل غير آمن لبيانات غير موثوقة. كان إصلاح أي حلقة من هذه السلسلة كفيلاً بقطع مسار الاستغلال، ما يجعل فصل الأسرار ورفض pickle في بيانات الجلسات ضوابط أساسية وليست تحسينات اختيارية.
في المقابل، تثير مهلة الإصلاح التي امتدت نحو شهرين أسئلة تشغيلية لم تجب عنها Google. لم توضح الشركة ما إذا كانت طبقت إجراءات تخفيف مؤقتة، أو بدّلت مفتاحي التوقيع المختلفين اللذين قالت Köck إن النطاقات السبعة تستخدمهما، أو أبطلت الجلسات القائمة. كما لم تكشف نتيجة جنائية بشأن احتمال استغلال الثغرة قبل نشر التصحيح، ولم تكن قد ردت على طلب The New Stack للتعليق عند تحديث المادة.
كيف أعددنا هذا الخبر؟
اعتمد الخبر على المصدر الأصلي الموضح أعلاه. قد نستخدم أدوات آلية للمساعدة في الاستخراج والتصنيف والصياغة،
لكن النشر يخضع لقواعد تمنع المحتوى المكرر والقصير أو الروتيني منخفض القيمة.
اقرأ سياستنا التحريرية.