Le 19 octobre 2026, Google a été informé qu'une autorité de certification (eMudhra) avait été compromise. Pour résoudre ce problème de sécurité, nous avons immédiatement publié des correctifs de sécurité dans plusieurs zones de notre écosystème.
Cette page vous aide à comprendre les types d'applications concernés et les actions requises pour remédier à cette compromission du certificat eMudhra. Nous fournissons également des informations détaillées sur le problème de sécurité.
Types d'applications concernés et actions requises
En raison de la nature de ce problème de sécurité, de nombreux types d'applications ont été affectés. Si votre type d'application est listé ici, il a probablement été affecté. Consultez la section correspondante pour savoir ce que vous devez faire.
- Applications Flutter (quelle que soit la plate-forme ou le produit cible)
- Applications pour plates-formes Apple (natives) qui utilisent Cloud Firestore
- Applications Unity ciblant les plates-formes Apple ou de bureau et utilisant Cloud Firestore
- Applications C++ ciblant les plates-formes Apple ou de bureau et utilisant Cloud Firestore
- Applications Android (natives) qui utilisent le plug-in Gradle Firebase App Distribution
D'autres plates-formes compatibles avec la communauté sont également concernées (par exemple, les applications React Native qui ciblent les plates-formes Apple et utilisent Firestore).
Applications Flutter
Les applications Flutter ont été affectées de différentes manières. Consultez la section correspondante pour savoir quelles mesures prendre.
Applications Flutter ciblant Android, Windows ou Linux
Alors que les navigateurs et les systèmes d'exploitation ont publié des listes de blocage d'urgence des certificats intermédiaires, dart:io sur Android, Windows et Linux valide les chaînes de certificats TLS à l'aide de son propre moteur BoringSSL compilé et ne lit pas les listes de blocage des certificats intermédiaires de l'OS. En savoir plus sur cet avis de sécurité.
Si vous avez des applications Flutter ou Dart qui ciblent Android, Windows ou Linux, procédez comme suit :
Passez aux versions suivantes de Dart et Flutter :
- Dart 3.13.7 ou version ultérieure
- Flutter 3.47.8 ou version ultérieure (avec Dart 3.13.7 ou version ultérieure)
Recompilez votre application.
Redéployez votre application ou votre binaire. Redéployez vos applications ou binaires Android, Windows et Linux afin qu'ils incluent les mises à jour avec le correctif de sécurité.
Applications Flutter ciblant les plates-formes Apple ou Windows et utilisant Cloud Firestore
Si vous disposez d'une application Flutter qui cible les plates-formes Apple (par exemple, iOS) et que votre application utilise Cloud Firestore, procédez comme suit :
Déterminez la version du plug-in adaptée à votre application. En fonction de la version actuelle de votre plug-in, choisissez une version adaptée à votre application.
Plug-in FlutterFire (
flutterfire) : iOS, macOS ou WindowsVersions du plug-in concernées Versions du plug-in avec le correctif de sécurité cloud_firestore7.0.0et versions antérieures
(à l'exception de6.10.1et6.10.2)-
Option 1 :
cloud_firestore7.1.0(FlutterFire BoM5.1.0ou version ultérieure) -
Option 2 :
-
iOS et macOS :
cloud_firestore6.10.1(FlutterFire BoM4.20.1) -
Windows :
cloud_firestore6.10.2(FlutterFire BoM4.20.2)
-
iOS et macOS :
-
Option 1 :
Mettez à jour votre application. Exécutez
flutter pub upgradepour mettre à jour le plug-incloud_firestorevers la version souhaitée.Recompilez votre application.
Republiez votre application : republiez votre application avec la version mise à jour du SDK (par exemple, sur le magasin d'applications d'Apple ou vos canaux de distribution pour ordinateur).
Après avoir republié votre application, vous devez encourager vos utilisateurs finaux à installer la dernière version de votre application. Étant donné que le bundle de certificats racine TLS est compilé dans le binaire de l'application, les mises à jour du système d'exploitation ou les modifications côté serveur ne suffisent pas à corriger les builds d'application précédemment installés.
Applications pour plates-formes Apple (natives) qui utilisent Cloud Firestore
Si vous disposez d'une application native pour les plates-formes Apple (par exemple, iOS) et que votre application utilise Cloud Firestore, procédez comme suit :
Déterminez la version du SDK adaptée à votre application. En fonction de votre version actuelle du SDK, choisissez une version du SDK adaptée à votre application.
SDK Firebase pour les plates-formes Apple (plus précisément,
FirebaseFirestore)Versions du SDK concernées Versions du SDK avec le correctif de sécurité 13.1.0et versions antérieures
(à l'exclusion de12.19.3)-
Option 1 :
13.1.1ou version ultérieure -
Option 2 :
12.19.3
-
Option 1 :
Mettez à jour votre application. Suivez les instructions correspondant à votre canal de distribution :
SPM : mettez à jour la version de votre dépendance de package
firebase-ios-sdkdans Xcode ouPackage.swift.Distribution ZIP : depuis GitHub Releases, téléchargez
Firebase.zippour la version souhaitée et remplacez les bundles.xcframeworkexistants dans votre projet.Carthage : mettez à jour votre fichier Cartfile pour cibler la version souhaitée et mettez à jour les dépendances via Carthage.
Republiez votre application. Republiez votre application avec la version mise à jour du SDK (par exemple, sur l'App Store d'Apple ou vos canaux de distribution pour ordinateur).
Après avoir republié votre application, vous devez encourager vos utilisateurs finaux à installer la dernière version de votre application. Étant donné que le bundle de certificats racine TLS est compilé dans le binaire de l'application, les mises à jour du système d'exploitation ou les modifications côté serveur ne permettent pas de corriger les builds d'application précédemment installés.
Applications Unity qui ciblent les plates-formes Apple ou de bureau et utilisent Cloud Firestore
Si vous disposez d'une application Unity qui cible les plates-formes Apple (par exemple, iOS) et que votre application utilise Cloud Firestore, procédez comme suit :
Déterminez la nouvelle version du SDK adaptée à votre application. En fonction de votre version actuelle du SDK, choisissez une version du SDK adaptée à votre application.
SDK Firebase pour Unity (
firebase-unity-sdk) : iOS ou ordinateur (Linux, macOS, Windows)Versions du SDK concernées Versions du SDK avec le correctif de sécurité 14.0.0et versions antérieures
(à l'exclusion de13.17.1)-
Option 1 :
14.1.0ou version ultérieure -
Option 2 :
13.17.1
-
Option 1 :
Mettez à jour votre application. Téléchargez le SDK Unity Firebase pour la version souhaitée depuis la page des versions GitHub.
Associez et recompilez votre application : associez et recompilez vos applications iOS et de bureau.
Republiez votre application. Republiez votre application avec la version mise à jour du SDK (par exemple, sur l'App Store d'Apple ou sur vos canaux de distribution pour ordinateur).
Après avoir republié votre application, vous devez encourager vos utilisateurs finaux à installer la dernière version de votre application. Étant donné que le bundle de certificats racine TLS est compilé dans le binaire de l'application, les mises à jour du système d'exploitation ou les modifications côté serveur ne suffisent pas à corriger les builds d'application précédemment installés.
Applications C++ qui ciblent les plates-formes Apple ou de bureau et utilisent Cloud Firestore
Si vous disposez d'une application C++ qui cible les plates-formes Apple (par exemple, iOS) et que votre application utilise Cloud Firestore, procédez comme suit :
Déterminez la nouvelle version du SDK adaptée à votre application. En fonction de votre version actuelle du SDK, choisissez une version du SDK adaptée à votre application.
SDK Firebase pour C++ (
firebase_cpp_sdk) : iOS ou ordinateur (Linux, macOS, Windows)Versions du SDK concernées Versions du SDK avec le correctif de sécurité 14.0.0et versions antérieures
(à l'exception de13.13.1)-
Option 1 :
14.1.0ou version ultérieure -
Option 2 :
13.13.1
-
Option 1 :
Mettez à jour votre application. Téléchargez le SDK Firebase C++ pour la version souhaitée depuis la page des versions GitHub.
Associez et recompilez votre application : associez et recompilez vos applications iOS et de bureau.
Republiez votre application. Republiez votre application avec la version mise à jour du SDK (par exemple, sur l'App Store d'Apple ou vos canaux de distribution pour ordinateur).
Après avoir republié votre application, vous devez encourager vos utilisateurs finaux à installer la dernière version de votre application. Étant donné que le bundle de certificats racine TLS est compilé dans le binaire de l'application, les mises à jour du système d'exploitation ou les modifications côté serveur ne suffisent pas à corriger les builds d'application précédemment installés.
Applications Android (natives) qui utilisent le plug-in Gradle Firebase App Distribution
Si vous disposez d'une application Android native qui utilise le plug-in Gradle Firebase App Distribution, procédez comme suit :
Déterminez la nouvelle version du plug-in adaptée à votre application. Vous pouvez utiliser la version 5.3.1 ou une version ultérieure du plug-in.
Mettez à jour votre fichier Gradle. Dans votre fichier Gradle au niveau racine (au niveau du projet) (
<project>/build.gradle.ktsou<project>/build.gradle), mettez à jour le plug-in Gradle App Distribution vers la version 5.3.1 ou ultérieure :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 (ancien)
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' } }Nettoyez et vérifiez vos workflows CI/CD. Assurez-vous que vos pipelines de compilation et de déploiement automatisés (comme GitHub Actions, GitLab CI ou Jenkins) extraient la version mise à jour du plug-in lors de l'exécution de tâches telles que
./gradlew appDistributionUpload<Variant>.
Informations détaillées sur ce qu'il s'est passé
Le 19 octobre 2026, Google a appris que les clés privées de plusieurs certificats d'autorité de certification (CA) intermédiaire émis par une autorité de certification tierce (eMudhra) avaient été compromises, puis révoquées (pour en savoir plus, consultez l'article du blog Google sur la sécurité).
Bien que les systèmes d'exploitation et les navigateurs Web aient distribué des mises à jour pour ne pas faire confiance à ces certificats intermédiaires dans les magasins de confiance du système, les produits concernés valident les connexions TLS (Transport Layer Security) à l'aide d'un bundle de certificats racine intégré compilé dans le binaire.
Étant donné que les pirates informatiques peuvent utiliser les clés d'autorité de certification compromises pour falsifier des certificats HTTPS d'apparence légitime, les applications concernées ne détecteront pas la révocation et continueront de faire confiance aux faux identifiants. Par conséquent, les pirates informatiques sur le réseau peuvent effectuer des attaques de type "man-in-the-middle" (homme au milieu) pour se faire passer pour les vrais serveurs backend, y compris Firestore et tous les points de terminaison HTTPS contactés par les applications Flutter/Dart concernées ou le plug-in Gradle App Distribution, en interceptant, en volant ou en altérant secrètement les données utilisateur sensibles.
Pour protéger les connexions client contre cette autorité de certification compromise, nous avons atténué ce problème en supprimant les certificats racines qui sont liés aux intermédiaires eMudhra compromis dans les éléments suivants :
SDK Cloud Firestore pour Apple, Flutter, Unity et C++
Le backend Cloud Firestore n'a pas été affecté, pas plus que les autres parties du produit Cloud Firestore.
Le SDK Flutter et le plug-in FlutterFire pour Cloud Firestore
Plug-in Gradle Firebase App Distribution
Le backend App Distribution n'a pas été affecté, pas plus que les autres parties du produit App Distribution.