في 19 أكتوبر 2026، علمت Google بأنّ هيئة إصدار الشهادات (eMudhra) قد تعرّضت للاختراق. لمعالجة هذه المشكلة الأمنية، أصدرنا على الفور تصحيحات برمجية أمنية لعدة جوانب في منظومتنا المتكاملة.
تساعدك هذه الصفحة في فهم أنواع التطبيقات المتأثرة وأي إجراءات مطلوبة لمعالجة مشكلة اختراق شهادة eMudhra هذه. ونقدّم أيضًا معلومات تفصيلية حول مشكلة الأمان.
أنواع التطبيقات المتأثّرة والإجراءات المطلوبة
نظرًا لطبيعة هذه المشكلة الأمنية، فقد أثّرت في العديد من أنواع التطبيقات المختلفة. إذا كان نوع تطبيقك مدرجًا هنا، من المحتمل أن يكون قد تأثّر. يُرجى مراجعة القسم المناسب لمعرفة الإجراءات التي يجب اتّخاذها.
- تطبيقات Flutter (بغض النظر عن المنصة أو المنتج المستهدفَين)
- تطبيقات Apple (الأصلية) التي تستخدم Cloud Firestore
- تطبيقات Unity التي تستهدف أجهزة Apple أو أجهزة الكمبيوتر المكتبية وتستخدم Cloud Firestore
- تطبيقات C++ التي تستهدف أنظمة Apple الأساسية أو أجهزة الكمبيوتر المكتبية وتستخدم Cloud Firestore
- تطبيقات Android (الأصلية) التي تستخدم المكوّن الإضافي Firebase App Distribution لنظام Gradle
تتأثر أيضًا المنصات الأخرى التي يتيحها المنتدى (على سبيل المثال، تطبيقات React Native التي تستهدف منصات Apple وتستخدم Firestore).
تطبيقات Flutter
تأثّرت تطبيقات Flutter بطرق مختلفة. يُرجى مراجعة القسم المناسب لفهم الإجراءات التي يجب اتّخاذها.
تطبيقات Flutter التي تستهدف Android أو Windows أو Linux
على الرغم من أنّ المتصفحات وأنظمة التشغيل فرضت قوائم محظورة طارئة لشهادات CA الوسيطة، فإنّ dart:io على Android وWindows وLinux يتحقّق من صحة سلاسل شهادات بروتوكول أمان طبقة النقل (TLS) باستخدام محرّك BoringSSL المجمَّع الخاص به ولا يقرأ القوائم المحظورة لشهادات CA الوسيطة في نظام التشغيل. مزيد من المعلومات حول هذه الإرشادات الأمنية
اتّخِذ الإجراءات التالية إذا كانت لديك تطبيقات Flutter أو Dart تستهدف Android أو Windows أو Linux:
الترقية إلى إصدارَي Dart وFlutter التاليَين:
- الإصدار 3.13.7 من Dart أو إصدار أحدث
- Flutter 3.47.8 أو إصدار أحدث (مع Dart 3.13.7 أو إصدار أحدث)
أعِد إنشاء تطبيقك.
أعِد نشر تطبيقك أو الملف الثنائي. أعِد نشر تطبيقات Android وWindow وLinux أو الملفات الثنائية لتتضمّن التحديثات مع إصلاحات الأمان.
تطبيقات Flutter التي تستهدف أنظمة Apple أو Windows وتستخدم Cloud Firestore
اتّخِذ الإجراءات التالية إذا كان لديك تطبيق Flutter يستهدف أنظمة Apple الأساسية (مثل iOS) ويستخدم تطبيقك Cloud Firestore:
حدِّد إصدار المكوّن الإضافي المناسب لتطبيقك. بناءً على إصدار المكوّن الإضافي الحالي، اختَر إصدارًا مناسبًا لتطبيقك.
مكوّن FlutterFire الإضافي (
flutterfire): نظام التشغيل iOS أو macOS أو Windowsإصدارات المكوّنات الإضافية المتأثّرة إصدارات المكوّنات الإضافية التي تتضمّن إصلاحًا أمنيًا cloud_firestore7.0.0والإصدارات الأقدم
(باستثناء6.10.1و6.10.2)-
الخيار 1:
cloud_firestore7.1.0(الإصدار5.1.0من FlutterFire BoM أو إصدار أحدث) -
الخيار 2:
-
iOS وmacOS: الإصدار
cloud_firestore6.10.1(FlutterFire BoM4.20.1) -
Windows:
cloud_firestore6.10.2(FlutterFire BoM4.20.2)
-
iOS وmacOS: الإصدار
-
الخيار 1:
تحديث التطبيق: شغِّل
flutter pub upgradeلتحديث المكوّن الإضافيcloud_firestoreإلى الإصدار المطلوب.أعِد إنشاء تطبيقك.
أعِد نشر تطبيقك الذي يتضمّن الإصدار المحدَّث من حزمة تطوير البرامج (SDK) (على سبيل المثال، في متجر تطبيقات Apple أو قنوات التوزيع على أجهزة الكمبيوتر المكتبي).
بعد إعادة نشر تطبيقك، عليك تشجيع المستخدمين النهائيين على تثبيت أحدث إصدار من تطبيقك. وبما أنّ حزمة شهادات الجذر لبروتوكول أمان طبقة النقل (TLS) يتم تجميعها في الملف الثنائي للتطبيق، فإنّ تحديثات نظام التشغيل أو التغييرات من جهة الخادم وحدها لا تعالج إصدارات التطبيق المثبَّتة سابقًا.
تطبيقات Apple الأساسية التي تستخدم Cloud Firestore
اتّخِذ الإجراءات التالية إذا كان لديك تطبيق مخصّص لمنصات Apple (مثل iOS) ويستخدم تطبيقك Cloud Firestore:
حدِّد إصدار حزمة SDK المناسب لتطبيقك. بناءً على إصدار حزمة SDK الحالي، اختَر إصدارًا مناسبًا لتطبيقك.
حزمة تطوير البرامج (SDK) لـ "Firebase" على منصات "Apple" (تحديدًا "
FirebaseFirestore")إصدارات حِزم SDK المتأثّرة إصدارات حزمة SDK التي تتضمّن إصلاحًا أمنيًا الإصدار 13.1.0والإصدارات الأقدم
(باستثناء الإصدار12.19.3)-
الخيار 1: الإصدار
13.1.1أو إصدار أحدث -
الخيار 2:
12.19.3
-
الخيار 1: الإصدار
تحديث التطبيق: اتّبِع التعليمات الخاصة بقناة التوزيع:
أداة SPM: يجب تحديث إصدار حزمة
firebase-ios-sdkالتابعة في Xcode أوPackage.swift.توزيع ملفات ZIP: من إصدارات GitHub، نزِّل
Firebase.zipللإصدار المطلوب واستبدِل حِزم.xcframeworkالحالية في مشروعك.Carthage: عدِّل ملف Cartfile لاستهداف الإصدار المطلوب وعدِّل التبعيات من خلال Carthage.
أعِد نشر تطبيقك. أعِد نشر تطبيقك الذي يتضمّن الإصدار المحدَّث من حزمة SDK (على سبيل المثال، في متجر تطبيقات Apple أو قنوات التوزيع على أجهزة الكمبيوتر المكتبي).
بعد إعادة نشر تطبيقك، عليك تشجيع المستخدمين النهائيين على تثبيت أحدث إصدار من تطبيقك. وبما أنّ حزمة شهادات الجذر لبروتوكول أمان طبقة النقل (TLS) يتم تجميعها في الملف الثنائي للتطبيق، فإنّ تحديثات نظام التشغيل أو التغييرات من جهة الخادم وحدها لا تعالج إصدارات التطبيقات التي تم تثبيتها سابقًا.
تطبيقات Unity التي تستهدف منصات Apple أو أجهزة الكمبيوتر المكتبية وتستخدم Cloud Firestore
اتّخِذ الإجراءات التالية إذا كان لديك تطبيق Unity يستهدف منصات Apple (مثل iOS) ويستخدم تطبيقك Cloud Firestore:
تحديد إصدار حزمة SDK الجديد المناسب لتطبيقك: بناءً على إصدار حزمة SDK الحالي، اختَر إصدارًا مناسبًا لتطبيقك.
Firebase SDK for Unity (الإصدار
firebase-unity-sdk) — iOS أو أجهزة الكمبيوتر المكتبي (Linux وmacOS وWindows)إصدارات حِزم SDK المتأثّرة إصدارات حزمة SDK التي تتضمّن إصلاحًا أمنيًا الإصدار 14.0.0والإصدارات الأقدم
(باستثناء الإصدار13.17.1)-
الخيار 1: الإصدار
14.1.0أو إصدار أحدث -
الخيار 2:
13.17.1
-
الخيار 1: الإصدار
تحديث تطبيقك: نزِّل حزمة Firebase Unity SDK للإصدار المطلوب من صفحة إصدارات GitHub.
اربط تطبيقك وأعِد إنشاءه. اربط تطبيقات iOS وأجهزة الكمبيوتر المكتبي وأعِد إنشاءها.
أعِد نشر تطبيقك. أعِد نشر تطبيقك الذي يتضمّن الإصدار المحدَّث من حزمة تطوير البرامج (SDK) (على سبيل المثال، في متجر تطبيقات Apple أو قنوات التوزيع على أجهزة الكمبيوتر المكتبي).
بعد إعادة نشر تطبيقك، عليك تشجيع المستخدمين النهائيين على تثبيت أحدث إصدار من تطبيقك. وبما أنّ حزمة شهادات الجذر لبروتوكول أمان طبقة النقل (TLS) يتم تجميعها في الملف الثنائي للتطبيق، فإنّ تحديثات نظام التشغيل أو التغييرات من جهة الخادم وحدها لا تعالج إصدارات التطبيق المثبَّتة سابقًا.
تطبيقات C++ التي تستهدف أنظمة Apple الأساسية أو أنظمة الكمبيوتر المكتبي وتستخدم Cloud Firestore
اتّخِذ الإجراءات التالية إذا كان لديك تطبيق C++ يستهدف أنظمة Apple الأساسية (مثل iOS) ويستخدم تطبيقك Cloud Firestore:
حدِّد إصدار حزمة SDK الجديد المناسب لتطبيقك. بناءً على إصدار حزمة SDK الحالي، اختَر إصدارًا مناسبًا لتطبيقك.
حزمة تطوير البرامج (SDK) لمنصة Firebase للغة C++ (الإصدار
firebase_cpp_sdk) — نظام التشغيل iOS أو أجهزة الكمبيوتر المكتبي (Linux وmacOS وWindows)إصدارات حزمة تطوير البرامج (SDK) المتأثّرة إصدارات حزمة SDK التي تتضمّن إصلاحًا أمنيًا الإصدار 14.0.0والإصدارات الأقدم
(باستثناء13.13.1)-
الخيار 1: الإصدار
14.1.0أو إصدار أحدث -
الخيار 2:
13.13.1
-
الخيار 1: الإصدار
تحديث تطبيقك: نزِّل حزمة Firebase C++ SDK للإصدار المطلوب من صفحة الإصدارات على GitHub.
اربط تطبيقك وأعِد إنشاءه. اربط تطبيقات iOS وأجهزة الكمبيوتر المكتبي وأعِد إنشاءها.
أعِد نشر تطبيقك. أعِد نشر تطبيقك الذي يتضمّن الإصدار المحدَّث من حزمة SDK (على سبيل المثال، في متجر تطبيقات Apple أو قنوات التوزيع على أجهزة الكمبيوتر المكتبي).
بعد إعادة نشر تطبيقك، عليك تشجيع المستخدمين النهائيين على تثبيت أحدث إصدار من تطبيقك. وبما أنّ حزمة شهادات الجذر لبروتوكول أمان طبقة النقل (TLS) يتم تجميعها في الملف الثنائي للتطبيق، فإنّ تحديثات نظام التشغيل أو التغييرات من جهة الخادم وحدها لا تعالج إصدارات التطبيق المثبَّتة سابقًا.
تطبيقات Android (الأصلية) التي تستخدم المكوّن الإضافي Firebase App Distribution لنظام Gradle
اتّخِذ الإجراءات التالية إذا كان لديك تطبيق Android أصلي يستخدم المكوّن الإضافي Firebase App Distribution لنظام Gradle:
حدِّد إصدار المكوّن الإضافي الجديد المناسب لتطبيقك. يمكنك استخدام الإصدار 5.3.1 من المكوّن الإضافي أو إصدار أحدث.
عدِّل ملف Gradle. في ملف Gradle على مستوى الجذر (على مستوى المشروع) (
<project>/build.gradle.ktsأو<project>/build.gradle)، يُرجى تحديث المكوّن الإضافي App Distribution لنظام Gradle إلى الإصدار 5.3.1 أو إصدار أحدث:Kotlin
plugins { // ... // Update the version in the dependency for the App Distribution Gradle plugin. // Make sure the version is 5.3.1 or higher. id("com.google.firebase.appdistribution") version "5.3.1" apply false }Groovy
plugins { // ... // Update the version in the dependency for the App Distribution Gradle plugin. // Make sure the version is 5.3.1 or higher. id 'com.google.firebase.appdistribution' version '5.3.1' apply false }buildscript (قديم)
buildscript { dependencies { // ... // Update the version in the dependency for the App Distribution Gradle plugin. // Make sure the version is 5.3.1 or higher. classpath 'com.google.firebase:firebase-appdistribution-gradle:5.3.1' } }تنظيف مهام سير عمل CI/CD والتحقّق منها تأكَّد من أنّ مسارات الإنشاء والنشر المبرمَجة (مثل GitHub Actions أو GitLab CI أو Jenkins) تسحب الإصدار المعدَّل من المكوّن الإضافي عند تنفيذ مهام مثل
./gradlew appDistributionUpload<Variant>.
معلومات مفصّلة عمّا حدث
في 19 أكتوبر 2026، علمت Google بأنّ المفاتيح الخاصة لعدة شهادات وسيطة صادرة عن مرجع تصديق (CA) تابع لجهة خارجية (eMudhra) قد تم اختراقها وإبطالها لاحقًا (لمزيد من التفاصيل، يُرجى الاطّلاع على منشور مدوّنة Google Security).
على الرغم من أنّ أنظمة التشغيل ومتصفّحات الويب قد وزّعت تحديثات لإلغاء الثقة في هذه الشهادات الوسيطة في مخازن شهادات الجذر الموثوق بها في النظام، فإنّ المنتجات المتأثرة تتحقّق من صحة اتصالات بروتوكول أمان طبقة النقل (TLS) باستخدام حزمة شهادات جذر مضمّنة تم تجميعها في الملف الثنائي.
بما أنّ المهاجمين يمكنهم استخدام مفاتيح "هيئة إصدار الشهادات" التي تم اختراقها لتزوير شهادات HTTPS تبدو شرعية، لن تتمكّن التطبيقات المتأثرة من رصد عملية الإبطال وستواصل الوثوق ببيانات الاعتماد المزيّفة. ونتيجةً لذلك، يمكن للمهاجمين على الشبكة تنفيذ هجمات الوسيط لانتحال هوية خوادم الخلفية الحقيقية، بما في ذلك Firestore وأي نقاط نهاية HTTPS تتصل بها تطبيقات Flutter/Dart المتأثرة أو المكوّن الإضافي Gradle في App Distribution، واعتراض بيانات المستخدمين الحساسة أو سرقتها أو التلاعب بها سرًا.
لحماية اتصالات العملاء من هيئة إصدار الشهادات المخترَقة هذه، خفّفنا من حدة هذه المشكلة عن طريق إزالة شهادات الجذر التي ترتبط بشهادات eMudhra الوسيطة المخترَقة في ما يلي:
حِزم تطوير البرامج (SDK) من "Cloud Firestore" لأجهزة Apple وFlutter وUnity وC++
لم تتأثر الخلفية في Cloud Firestore، ولم يتأثر أي جزء آخر من منتج Cloud Firestore.
حزمة تطوير البرامج (SDK) من Flutter والمكوّن الإضافي FlutterFire لـ Cloud Firestore
مكوّن Gradle الإضافي لـ "Firebase App Distribution"
لم تتأثر الخلفية في App Distribution، ولم يتأثر أي جزء آخر من منتج App Distribution.