Erforderliche Updates zur Behebung der Kompromittierung von eMudhra-Zertifikaten

Am 19. Oktober 2026 wurde Google auf eine kompromittierte Zertifizierungsstelle (eMudhra) aufmerksam. Um dieses Sicherheitsproblem zu beheben, haben wir sofort Sicherheitspatches für mehrere Bereiche unseres Ökosystems herausgegeben.

Auf dieser Seite finden Sie Informationen zu den betroffenen Anwendungstypen und den erforderlichen Maßnahmen, um die Kompromittierung des eMudhra-Zertifikats zu beheben. Außerdem stellen wir detaillierte Informationen zum Sicherheitsproblem bereit.

Betroffene App-Typen und erforderliche Maßnahmen

Aufgrund der Art dieses Sicherheitsproblems waren viele verschiedene Arten von Apps betroffen. Wenn Ihr App-Typ hier aufgeführt ist, war er wahrscheinlich betroffen. Lesen Sie den entsprechenden Abschnitt, um zu erfahren, welche Maßnahmen Sie ergreifen müssen.

Andere von der Community unterstützte Plattformen sind ebenfalls betroffen (z. B. React Native-Apps, die auf Apple-Plattformen ausgerichtet sind und Firestore verwenden).


Flutter-Apps

Flutter-Apps waren auf verschiedene Weise betroffen. Lesen Sie den entsprechenden Abschnitt, um zu erfahren, welche Maßnahmen Sie ergreifen müssen.

Flutter-Apps für Android, Windows oder Linux

Während Browser und Betriebssysteme Notfall-Sperrlisten für Zwischenzertifikate herausgaben, validiert dart:io unter Android, Windows und Linux TLS-Zertifikatsketten mit der eigenen kompilierten BoringSSL-Engine und liest keine Sperrlisten für Zwischenzertifikate des Betriebssystems. Weitere Informationen zu dieser Sicherheitswarnung

Führen Sie die folgenden Schritte aus, wenn Sie Flutter- oder Dart-Apps haben, die auf Android, Windows oder Linux ausgerichtet sind:

  1. Führen Sie ein Upgrade auf die folgenden Dart- und Flutter-Versionen durch:

    • Dart 3.13.7 oder höher
    • Flutter 3.47.8 oder höher (mit Dart 3.13.7 oder höher)
  2. Erstellen Sie Ihre App neu.

  3. Stellen Sie Ihre Anwendung oder Binärdatei noch einmal bereit. Stellen Sie Ihre Android-, Windows- und Linux-Anwendungen oder Binärdateien noch einmal bereit, damit sie die Updates mit dem Sicherheits-Fix enthalten.

Flutter-Apps, die auf Apple- oder Windows-Plattformen ausgerichtet sind und Cloud Firestore verwenden

Führen Sie die folgenden Schritte aus, wenn Sie eine Flutter-App haben, die auf Apple-Plattformen (z. B. iOS) ausgerichtet ist, und Ihre App Cloud Firestore verwendet:

  1. Bestimmen Sie die für Ihre App geeignete Plug-in-Version. Wählen Sie je nach aktueller Plug-in-Version eine Plug-in-Version aus, die für Ihre App geeignet ist.

    FlutterFire-Plug-in (flutterfire) – iOS, macOS oder Windows

    Betroffene Plug-in-Versionen Plug-in-Versionen mit dem Sicherheits-Fix
    cloud_firestore 7.0.0 und früher
    (außer 6.10.1 und 6.10.2)
    • Option 1: cloud_firestore 7.1.0 (FlutterFire BoM 5.1.0 oder höher)
    • Option 2:
      • iOS und macOS: cloud_firestore 6.10.1 (FlutterFire BoM 4.20.1)
      • Windows: cloud_firestore 6.10.2 (FlutterFire BoM 4.20.2)
  2. App aktualisieren: Führen Sie flutter pub upgrade aus, um das cloud_firestore-Plug-in auf die gewünschte Version zu aktualisieren.

  3. Erstellen Sie Ihre App neu.

  4. Veröffentlichen Sie Ihre App noch einmal. Veröffentlichen Sie Ihre App mit der aktualisierten SDK-Version noch einmal, z. B. im Apple App Store oder über Ihre Desktop-Vertriebskanäle.

Nachdem Sie Ihre App noch einmal veröffentlicht haben, müssen Sie Ihre Endnutzer auffordern, auf die aktuelle Version Ihrer App zu aktualisieren. Da das TLS-Root-Zertifikat-Bundle in die Binärdatei der Anwendung kompiliert wird, reichen Betriebssystemupdates oder serverseitige Änderungen allein nicht aus, um zuvor installierte Anwendungs-Builds zu korrigieren.



Apple-Plattform-Apps (nativ), die Cloud Firestore verwenden

Führen Sie die folgenden Aktionen aus, wenn Sie eine native App für Apple-Plattformen (z. B. iOS) haben und Ihre App Cloud Firestore verwendet:

  1. Bestimmen Sie die für Ihre App geeignete SDK-Version. Wählen Sie je nach Ihrer aktuellen SDK-Version eine SDK-Version aus, die für Ihre App geeignet ist.

    Firebase-SDK für Apple-Plattformen (insbesondere FirebaseFirestore)

    Betroffene SDK-Versionen SDK-Versionen mit dem Sicherheits-Fix
    13.1.0 und früher
    (außer 12.19.3)
    • Option 1: 13.1.1 oder höher
    • Option 2: 12.19.3
  2. Aktualisieren Sie Ihre App. Folgen Sie der Anleitung für Ihren Vertriebskanal:

    • SPM: Aktualisieren Sie die Version der Paketabhängigkeit firebase-ios-sdk in Xcode oder Package.swift.

    • ZIP-Distribution: Laden Sie von GitHub-Releases die Datei Firebase.zip für die gewünschte Version herunter und ersetzen Sie die vorhandenen .xcframework-Bundles in Ihrem Projekt.

    • Carthage: Aktualisieren Sie Ihre Cartfile, um die gewünschte Version anzugeben, und aktualisieren Sie die Abhängigkeiten über Carthage.

  3. Veröffentlichen Sie Ihre App noch einmal. Veröffentlichen Sie Ihre App mit der aktualisierten SDK-Version noch einmal, z. B. im Apple App Store oder über Ihre Desktop-Vertriebskanäle.

Nachdem Sie Ihre App noch einmal veröffentlicht haben, müssen Sie Ihre Endnutzer dazu auffordern, die aktuelle Version Ihrer App zu installieren. Da das TLS-Root-Zertifikat-Bundle in die Binärdatei der Anwendung kompiliert wird, reichen Betriebssystemupdates oder serverseitige Änderungen allein nicht aus, um zuvor installierte Anwendungs-Builds zu korrigieren.



Unity-Apps, die auf Apple- oder Desktop-Plattformen ausgerichtet sind und Cloud Firestore verwenden

Führen Sie die folgenden Schritte aus, wenn Sie eine Unity-App haben, die auf Apple-Plattformen (z. B. iOS) ausgerichtet ist, und Ihre App Cloud Firestore verwendet:

  1. Bestimmen Sie die neue SDK-Version, die für Ihre App geeignet ist. Wählen Sie je nach Ihrer aktuellen SDK-Version eine SDK-Version aus, die für Ihre App geeignet ist.

    Firebase SDK for Unity (firebase-unity-sdk) – iOS oder Desktop (Linux, macOS, Windows)

    Betroffene SDK-Versionen SDK-Versionen mit dem Sicherheits-Fix
    14.0.0 und früher
    (außer 13.17.1)
    • Option 1: 14.1.0 oder höher
    • Option 2: 13.17.1
  2. App aktualisieren: Laden Sie das Firebase Unity SDK für die gewünschte Version von der GitHub-Releaseseite herunter.

  3. App verknüpfen und neu erstellen: Verknüpfen Sie Ihre iOS- und Desktop-Anwendungen und erstellen Sie sie neu.

  4. Veröffentlichen Sie Ihre App noch einmal. Veröffentlichen Sie Ihre App mit der aktualisierten SDK-Version noch einmal, z. B. im Apple App Store oder über Ihre Desktop-Vertriebskanäle.

Nachdem Sie Ihre App noch einmal veröffentlicht haben, müssen Sie Ihre Endnutzer auffordern, auf die aktuelle Version Ihrer App zu aktualisieren. Da das TLS-Root-Zertifikat-Bundle in die Binärdatei der Anwendung kompiliert wird, reichen Betriebssystemupdates oder serverseitige Änderungen allein nicht aus, um zuvor installierte Anwendungs-Builds zu korrigieren.



C++-Apps, die auf Apple- oder Desktop-Plattformen ausgerichtet sind und Cloud Firestore verwenden

Führen Sie die folgenden Schritte aus, wenn Sie eine C++-App haben, die auf Apple-Plattformen (z. B. iOS) ausgerichtet ist, und Ihre App Cloud Firestore verwendet:

  1. Bestimmen Sie die neue SDK-Version, die für Ihre App geeignet ist. Wählen Sie je nach Ihrer aktuellen SDK-Version eine SDK-Version aus, die für Ihre App geeignet ist.

    Firebase SDK für C++ (firebase_cpp_sdk) – iOS oder Desktop (Linux, macOS, Windows)

    Betroffene SDK-Versionen SDK-Versionen mit dem Sicherheits-Fix
    14.0.0 und früher
    (außer 13.13.1)
    • Option 1: 14.1.0 oder höher
    • Option 2: 13.13.1
  2. App aktualisieren: Laden Sie das Firebase C++ SDK für die gewünschte Version von der GitHub-Releaseseite herunter.

  3. App verknüpfen und neu erstellen: Verknüpfen Sie Ihre iOS- und Desktop-Anwendungen und erstellen Sie sie neu.

  4. Veröffentlichen Sie Ihre App noch einmal. Veröffentlichen Sie Ihre App mit der aktualisierten SDK-Version noch einmal, z. B. im Apple App Store oder über Ihre Desktop-Vertriebskanäle.

Nachdem Sie Ihre App noch einmal veröffentlicht haben, müssen Sie Ihre Endnutzer auffordern, auf die aktuelle Version Ihrer App zu aktualisieren. Da das TLS-Root-Zertifikat-Bundle in die Binärdatei der Anwendung kompiliert wird, reichen Betriebssystemupdates oder serverseitige Änderungen allein nicht aus, um zuvor installierte Anwendungs-Builds zu korrigieren.



Android-Apps (nativ), die das Firebase App Distribution-Gradle-Plug-in verwenden

Führen Sie die folgenden Schritte aus, wenn Sie eine native Android-App haben, die das Firebase App Distribution-Gradle-Plug-in verwendet:

  1. Ermitteln Sie die neue Plug-in-Version, die für Ihre App geeignet ist. Sie können die Plug-in-Version 5.3.1 oder höher verwenden.

  2. Aktualisieren Sie Ihre Gradle-Datei. Aktualisieren Sie in der Gradle-Datei auf Stammebene (Projektebene) (<project>/build.gradle.kts oder <project>/build.gradle) das App Distribution-Gradle-Plug-in auf Version 5.3.1 oder höher:

    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 (alt)

    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'
        }
    }
    
  3. Bereinigen und überprüfen Sie Ihre CI/CD-Workflows. Achten Sie darauf, dass Ihre automatisierten Build- und Bereitstellungspipelines (z. B. GitHub Actions, GitLab CI oder Jenkins) die aktualisierte Plug-in-Version abrufen, wenn Aufgaben wie ./gradlew appDistributionUpload<Variant> ausgeführt werden.



Detaillierte Informationen zum Vorfall

Am 19. Oktober 2026 wurde Google darauf aufmerksam, dass die privaten Schlüssel für mehrere Zwischenzertifikate von Zertifizierungsstellen (Certificate Authority, CA), die von einer Drittanbieter-Zertifizierungsstelle (eMudhra) ausgestellt wurden, kompromittiert und anschließend widerrufen wurden. Weitere Informationen finden Sie im Google Security Blogpost.

Betriebssysteme und Webbrowser haben zwar Updates verteilt, um diesen Zwischenzertifikaten in System-Trust Stores nicht mehr zu vertrauen, die betroffenen Produkte validieren jedoch TLS-Verbindungen (Transport Layer Security) mithilfe eines eingebetteten Root-Zertifikatpakets, das in die Binärdatei kompiliert wurde.

Da Angreifer die kompromittierten Schlüssel der Zertifizierungsstelle verwenden können, um legitim aussehende HTTPS-Zertifikate zu fälschen, können betroffene Apps den Widerruf nicht erkennen und vertrauen weiterhin den gefälschten Anmeldedaten. Angreifer im Netzwerk können dadurch Man-in-the-Middle-Angriffe ausführen, um sich als die echten Backend-Server auszugeben, einschließlich Firestore und aller HTTPS-Endpunkte, die von betroffenen Flutter/Dart-Apps oder dem Gradle-Plug-in für die App-Bereitstellung kontaktiert werden. So können sie sensible Nutzerdaten heimlich abfangen, stehlen oder manipulieren.

Um Clientverbindungen vor dieser manipulierten Zertifizierungsstelle zu schützen, haben wir das Problem behoben, indem wir die Root-Zertifikate entfernt haben, die mit den manipulierten eMudhra-Zwischenzertifikaten verknüpft sind:

  • Cloud Firestore SDKs für Apple, Flutter, Unity und C++

    Das Cloud Firestore-Backend war nicht betroffen, ebenso wenig wie andere Teile des Cloud Firestore-Produkts.

  • Das Flutter SDK und das FlutterFire-Plug-in für Cloud Firestore

  • Das Firebase App Distribution-Gradle-Plug-in

    Das App Distribution-Backend war nicht betroffen, ebenso wenig wie andere Teile des App Distribution-Produkts.