Atualizações necessárias para corrigir o comprometimento do certificado eMudhra

Em 19 de outubro de 2026, o Google tomou conhecimento de uma autoridade de certificação comprometida (eMudhra). Para resolver esse problema, emitimos imediatamente patches de segurança para várias áreas do nosso ecossistema.

Nesta página, você vai entender os tipos de apps afetados e as ações necessárias para corrigir esse comprometimento do certificado eMudhra. Também fornecemos informações detalhadas sobre o problema de segurança.

Tipos de apps afetados e ações necessárias

Devido à natureza desse problema de segurança, muitos tipos diferentes de apps foram afetados. Se o tipo do seu app estiver listado aqui, é provável que ele tenha sido afetado. Leia a seção aplicável para saber quais ações você precisa realizar.

Outras plataformas com suporte da comunidade também são afetadas (por exemplo, apps React Native que segmentam plataformas da Apple e usam o Firestore).


Apps do Flutter

Os apps do Flutter foram afetados de várias maneiras. Leia a seção aplicável para entender quais ações você precisa realizar.

Apps do Flutter voltados ao Android, Windows ou Linux

Enquanto os navegadores e sistemas operacionais enviavam listas de bloqueio de certificados intermediários de emergência, o dart:io no Android, Windows e Linux valida as cadeias de certificados TLS usando o próprio mecanismo BoringSSL compilado e não lê as listas de bloqueio de certificados intermediários do SO. Saiba mais sobre este aviso de segurança.

Siga as etapas abaixo se você tiver apps Flutter ou Dart destinados ao Android, Windows ou Linux:

  1. Faça upgrade para as seguintes versões do Dart e do Flutter:

    • Dart 3.13.7 ou mais recente
    • Flutter 3.47.8 ou mais recente (com Dart 3.13.7 ou mais recente)
  2. Recrie seu app.

  3. Implante novamente o app ou binário. Implante novamente os apps ou binários do Android, Window e Linux para que eles incluam as atualizações com a correção de segurança.

Apps do Flutter voltados às plataformas da Apple ou do Windows e que usam Cloud Firestore

Siga as etapas abaixo se você tiver um app Flutter destinado a plataformas da Apple (por exemplo, iOS) e seu app usar Cloud Firestore:

  1. Determine a versão do plug-in adequada para seu app. Dependendo da versão atual do plug-in, escolha uma versão adequada para seu app.

    Plug-in do FlutterFire (flutterfire): iOS, macOS ou Windows

    Versões afetadas do plug-in Versões do plug-in com a correção de segurança
    cloud_firestore 7.0.0 e anteriores
    (exceto 6.10.1 e 6.10.2)
    • Opção 1: cloud_firestore 7.1.0 (BoM do FlutterFire 5.1.0 ou mais recente)
    • Opção 2:
      • iOS e macOS: cloud_firestore 6.10.1 (BoM do FlutterFire 4.20.1)
      • Windows: cloud_firestore 6.10.2 (BoM do FlutterFire 4.20.2)
  2. Atualize o app.Execute flutter pub upgrade para atualizar o plug-in cloud_firestore para a versão desejada.

  3. Recrie seu app.

  4. Publique o app novamente com a versão atualizada do SDK (por exemplo, na App Store da Apple ou nos canais de distribuição para computador).

Depois de republicar o app, você precisa incentivar os usuários finais a atualizar para a versão mais recente do app. Como o pacote de certificados raiz TLS é compilado no binário do aplicativo, as atualizações do sistema operacional ou as mudanças do lado do servidor por si só não corrigem as versões do aplicativo instaladas anteriormente.



Apps da plataforma Apple (nativos) que usam Cloud Firestore

Siga as instruções abaixo se você tiver um app nativo para plataformas da Apple (por exemplo, iOS) e ele usar Cloud Firestore:

  1. Determine a versão do SDK adequada para seu app. Dependendo da versão atual do SDK, escolha uma versão adequada para seu app.

    SDK do Firebase para plataformas da Apple (especificamente, FirebaseFirestore)

    Versões do SDK afetadas Versões do SDK com a correção de segurança
    13.1.0 e anteriores
    (exceto 12.19.3)
    • Opção 1: 13.1.1 ou mais recente
    • Opção 2: 12.19.3
  2. Atualize o app.Siga as instruções do seu canal de distribuição:

    • SPM: atualize a versão de dependência do pacote firebase-ios-sdk no Xcode ou em Package.swift.

    • Distribuição ZIP: em Versões do GitHub, faça o download de Firebase.zip para a versão desejada e substitua os pacotes .xcframework atuais no projeto.

    • Carthage: atualize o Cartfile para segmentar a versão desejada e atualize as dependências pelo Carthage.

  3. Publique o app novamente.Publique novamente o app com a versão atualizada do SDK (por exemplo, na App Store da Apple ou nos canais de distribuição para computador).

Depois de republicar o app, você precisa incentivar os usuários finais a atualizar para a versão mais recente do seu app. Como o pacote de certificados raiz TLS é compilado no binário do aplicativo, as atualizações do sistema operacional ou as mudanças do lado do servidor por si só não corrigem as versões do aplicativo instaladas anteriormente.



Apps do Unity que segmentam plataformas da Apple ou para computador e usam Cloud Firestore

Siga as etapas abaixo se você tiver um app do Unity destinado a plataformas da Apple (por exemplo, iOS) e seu app usar Cloud Firestore:

  1. Determine a nova versão do SDK adequada para seu app. Dependendo da versão atual do SDK, escolha uma versão adequada para seu app.

    SDK do Firebase para Unity (firebase-unity-sdk): iOS ou computador (Linux, macOS, Windows)

    Versões do SDK afetadas Versões do SDK com a correção de segurança
    14.0.0 e anteriores
    (exceto 13.17.1)
    • Opção 1: 14.1.0 ou mais recente
    • Opção 2: 13.17.1
  2. Atualize seu app. Faça o download do SDK do Firebase para Unity da versão desejada na página de versões do GitHub.

  3. Vincule e recrie seu app.Vincule e recrie seus aplicativos para iOS e computador.

  4. Publique o app novamente.Publique novamente o app com a versão atualizada do SDK (por exemplo, na App Store da Apple ou nos canais de distribuição para computador).

Depois de republicar o app, você precisa incentivar os usuários finais a atualizar para a versão mais recente do app. Como o pacote de certificados raiz TLS é compilado no binário do aplicativo, as atualizações do sistema operacional ou as mudanças do lado do servidor por si só não corrigem as versões do aplicativo instaladas anteriormente.



Apps em C++ destinados a plataformas da Apple ou para computador e que usam Cloud Firestore

Siga as etapas abaixo se você tiver um app em C++ destinado a plataformas da Apple (por exemplo, iOS) e seu app usar Cloud Firestore:

  1. Determine a nova versão do SDK adequada para seu app. Dependendo da versão atual do SDK, escolha uma versão adequada para seu app.

    SDK do Firebase para C++ (firebase_cpp_sdk): iOS ou computador (Linux, macOS, Windows)

    Versões do SDK afetadas Versões do SDK com a correção de segurança
    14.0.0 e anteriores
    (exceto 13.13.1)
    • Opção 1: 14.1.0 ou mais recente
    • Opção 2: 13.13.1
  2. Atualize o app. Faça o download do SDK do Firebase para C++ da versão desejada na página de versões do GitHub.

  3. Vincule e recrie seu app.Vincule e recrie seus aplicativos para iOS e computador.

  4. Publique o app novamente.Publique novamente o app com a versão atualizada do SDK (por exemplo, na App Store da Apple ou nos canais de distribuição para computador).

Depois de republicar o app, você precisa incentivar os usuários finais a atualizar para a versão mais recente do app. Como o pacote de certificados raiz TLS é compilado no binário do aplicativo, as atualizações do sistema operacional ou as mudanças do lado do servidor por si só não corrigem as versões do aplicativo instaladas anteriormente.



Apps Android (nativos) que usam o plug-in do Gradle para Firebase App Distribution

Siga estas etapas se você tiver um app Android nativo que usa o plug-in do Gradle para Firebase App Distribution:

  1. Determine a nova versão do plug-in adequada para seu app.Você pode usar a versão 5.3.1 ou mais recente.

  2. Atualize o arquivo do Gradle. No arquivo do Gradle no nível raiz (para envolvidos no projeto) (<project>/build.gradle.kts ou <project>/build.gradle), atualize o plug-in do Gradle para App Distribution para a versão 5.3.1 ou mais recente:

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

    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. Limpe e verifique seus fluxos de trabalho de CI/CD. Verifique se os pipelines automatizados de build e implantação (como GitHub Actions, GitLab CI ou Jenkins) extraem a versão atualizada do plug-in ao executar tarefas como ./gradlew appDistributionUpload<Variant>.



Informações detalhadas sobre o que aconteceu

Em 19 de outubro de 2026, o Google descobriu que as chaves privadas de vários certificados intermediários de autoridade certificadora (CA) emitidos por uma autoridade certificadora de terceiros (eMudhra) foram comprometidas e, posteriormente, revogadas (para mais detalhes, consulte a postagem do blog de segurança do Google).

Embora os sistemas operacionais e os navegadores da Web tenham distribuído atualizações para desconfiar desses certificados intermediários em repositórios de confiança do sistema, os produtos afetados validam as conexões do Transport Layer Security (TLS) usando um pacote de certificados raiz incorporado compilado no binário.

Como os invasores podem usar as chaves comprometidas da autoridade certificadora para falsificar certificados HTTPS que parecem legítimos, os apps afetados não detectam a revogação e continuam confiando nas credenciais falsas. Como resultado, invasores na rede podem realizar ataques de interceptação para se passar por servidores de back-end reais, incluindo o Firestore e qualquer endpoint HTTPS contatado por apps do Flutter/Dart afetados ou pelo plug-in do Gradle do App Distribution, interceptando, roubando ou adulterando secretamente dados sensíveis do usuário.

Para proteger as conexões de clientes contra essa autoridade certificadora comprometida, mitigamos o problema removendo os certificados raiz que se encadeiam aos intermediários comprometidos da eMudhra nos seguintes:

  • SDKs do Cloud Firestore para Apple, Flutter, Unity e C++

    O back-end do Cloud Firestore não foi afetado, assim como nenhuma outra parte do produto Cloud Firestore.

  • O SDK do Flutter e o plug-in do FlutterFire para Cloud Firestore

  • O plug-in do Gradle para Firebase App Distribution

    O back-end do App Distribution não foi afetado, assim como nenhuma outra parte do produto App Distribution.