19 октября 2026 г. Google стало известно о взломе центра сертификации eMudhra. Чтобы устранить эту проблему, мы сразу же выпустили исправления системы безопасности для нескольких областей нашей экосистемы.
На этой странице вы узнаете, какие типы приложений затронуты и какие действия необходимо предпринять, чтобы устранить последствия компрометации сертификата eMudhra. Мы также предоставляем подробную информацию о проблеме безопасности.
Типы приложений, которых коснутся изменения, и необходимые действия
Из-за характера этой проблемы безопасности она затронула множество разных типов приложений. Если тип вашего приложения указан здесь, то, скорее всего, оно было затронуто. Ознакомьтесь с соответствующим разделом, чтобы узнать, какие действия вам нужно предпринять.
- Приложения Flutter (независимо от целевой платформы или продукта).
- Нативные приложения для платформы Apple, использующие Cloud Firestore
- Приложения Unity, предназначенные для платформ Apple или компьютеров и использующие Cloud Firestore
- Приложения на C++ для платформ Apple или ПК, в которых используется Cloud Firestore.
- Нативные приложения для Android, в которых используется плагин Gradle Firebase App Distribution
Это также касается других платформ, поддерживаемых сообществом, например нативных приложений React Native, предназначенных для платформ Apple и использующих Firestore.
Приложения Flutter
Приложения Flutter были затронуты по-разному. Ознакомьтесь с соответствующим разделом, чтобы понять, какие действия вам нужно предпринять.
Приложения Flutter, предназначенные для Android, Windows или Linux.
Браузеры и операционные системы использовали экстренные черные списки промежуточных сертификатов, но dart:io на Android, Windows и Linux проверяет цепочки сертификатов TLS с помощью собственного встроенного движка BoringSSL и не считывает черные списки промежуточных сертификатов ОС. Подробнее об этой рекомендации по безопасности…
Если у вас есть приложения Flutter или Dart, предназначенные для Android, Windows или Linux, выполните следующие действия:
Перейдите на следующие версии Dart и Flutter:
- Dart 3.13.7 или более поздней версии.
- Flutter 3.47.8 или более поздней версии (с Dart 3.13.7 или более поздней версии)
Пересоберите приложение.
Повторно разверните приложение или двоичный файл. Повторно разверните приложения или двоичные файлы для Android, Windows и 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(FlutterFire BoM5.1.0или более поздней версии) -
Вариант 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 App Store или на каналах распространения для компьютеров).
После повторной публикации приложения порекомендуйте конечным пользователям обновить его до последней версии. Поскольку набор корневых сертификатов TLS компилируется в двоичный файл приложения, обновления операционной системы или изменения на стороне сервера не устраняют проблему в ранее установленных сборках приложения.
Приложения для платформы Apple (нативные), в которых используется Cloud Firestore
Если у вас есть нативное приложение для платформ Apple (например, iOS) и в нем используется Cloud Firestore, выполните следующие действия:
Определите, какая версия SDK подходит для вашего приложения. Выберите версию SDK, которая подходит для вашего приложения, в зависимости от текущей версии SDK.
Firebase SDK для платформ 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-архив. Скачайте файл
Firebase.zipнужной версии со страницы GitHub Releases и замените существующие пакеты.xcframeworkв проекте.Carthage. Обновите файл Cartfile, чтобы указать нужную версию, и обновите зависимости с помощью Carthage.
Опубликуйте приложение повторно. Опубликуйте приложение с обновленной версией SDK (например, в Apple App Store или на каналах распространения для компьютеров).
После повторной публикации приложения вам нужно порекомендовать конечным пользователям обновить его до последней версии. Поскольку набор корневых сертификатов TLS компилируется в двоичный файл приложения, обновления операционной системы или изменения на стороне сервера не исправят ранее установленные сборки приложения.
Приложения Unity, предназначенные для платформ Apple или компьютеров и использующие Cloud Firestore.
Если у вас есть приложение Unity, предназначенное для платформ Apple (например, iOS), и в нем используется Cloud Firestore, выполните следующие действия:
Определите, какая версия SDK подходит для вашего приложения. Выберите версию SDK, которая подходит для вашего приложения, в зависимости от текущей версии SDK.
Firebase SDK для 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 App Store или на каналах распространения для компьютеров).
После повторной публикации приложения порекомендуйте конечным пользователям обновить его до последней версии. Поскольку набор корневых сертификатов TLS компилируется в двоичный файл приложения, обновления операционной системы или изменения на стороне сервера не устраняют проблему в ранее установленных сборках приложения.
Приложения на C++ для платформ Apple или ПК, в которых также используется Cloud Firestore.
Если у вас есть приложение на C++ для платформ Apple (например, iOS) и в нем используется Cloud Firestore, выполните следующие действия:
Определите, какая версия SDK подходит для вашего приложения. Выбор зависит от текущей версии SDK.
Firebase SDK для 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 App Store или на каналах распространения для компьютеров).
После повторной публикации приложения порекомендуйте конечным пользователям обновить его до последней версии. Поскольку набор корневых сертификатов TLS компилируется в двоичный файл приложения, обновления операционной системы или изменения на стороне сервера не устраняют проблему в ранее установленных сборках приложения.
Нативные приложения для Android, в которых используется плагин Gradle Firebase App Distribution.
Если у вас есть нативное приложение для Android, в котором используется плагин Gradle Firebase App Distribution, выполните следующие действия:
Определите, какая версия плагина подходит для вашего приложения. Вы можете использовать версию 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 узнала, что закрытые ключи для нескольких промежуточных сертификатов центра сертификации (ЦС), выпущенных сторонним центром сертификации (eMudhra), были скомпрометированы и впоследствии отозваны. Подробную информацию можно найти в сообщении в блоге Google по безопасности.
Хотя операционные системы и веб-браузеры распространили обновления, чтобы эти промежуточные сертификаты не считались доверенными в системных хранилищах доверия, затронутые продукты проверяют подключения по протоколу TLS с помощью встроенного пакета корневых сертификатов, скомпилированного в двоичный файл.
Поскольку злоумышленники могут использовать скомпрометированные ключи центра сертификации для подделки сертификатов HTTPS, затронутые приложения не смогут обнаружить отзыв и продолжат доверять поддельным учетным данным. В результате злоумышленники могут проводить атаки типа "человек посередине", выдавая себя за настоящие бэкенд-серверы, включая Firestore и любые конечные точки HTTPS, к которым обращаются затронутые приложения Flutter/Dart или плагин App Distribution Gradle. Это позволяет злоумышленникам тайно перехватывать, красть или подделывать конфиденциальные пользовательские данные.
Чтобы защитить подключения клиентов от этого скомпрометированного центра сертификации, мы удалили корневые сертификаты, связанные со скомпрометированными промежуточными сертификатами eMudhra, в следующих продуктах:
SDK Cloud Firestore для Apple, Flutter, Unity и C++
Бэкенд Cloud Firestore и другие компоненты Cloud Firestore не были затронуты.
Flutter SDK и плагин FlutterFire для Cloud Firestore
Плагин Gradle для Firebase App Distribution
Бэкенд App Distribution и другие компоненты App Distribution не были затронуты.