Actualizaciones necesarias para solucionar la vulneración del certificado de eMudhra

El 19 de octubre de 2026, Google se enteró de que se había vulnerado una autoridad certificadora (eMudhra). Para abordar este problema de seguridad, emitimos de inmediato parches de seguridad en varias áreas de nuestro ecosistema.

Esta página te ayuda a comprender los tipos de apps afectadas y las acciones necesarias para solucionar este problema de vulneración del certificado de eMudhra. También proporcionamos información detallada sobre el problema de seguridad.

Tipos de apps afectadas y acciones requeridas

Debido a la naturaleza de este problema de seguridad, se vieron afectados muchos tipos de apps. Si el tipo de tu app aparece aquí, es probable que se haya visto afectada. Revisa la sección correspondiente para conocer las medidas que debes tomar.

Otras plataformas compatibles con la comunidad también se ven afectadas (por ejemplo, las apps de React Native orientadas a plataformas de Apple y que usan Firestore).


Apps de Flutter

Las apps de Flutter se vieron afectadas de varias maneras. Revisa la sección correspondiente para comprender qué acciones debes realizar.

Apps de Flutter orientadas a Android, Windows o Linux

Si bien los navegadores y los sistemas operativos enviaron listas de entidades bloqueadas de certificados intermedios de emergencia, dart:io en Android, Windows y Linux valida las cadenas de certificados TLS con su propio motor BoringSSL compilado y no lee las listas de entidades bloqueadas de certificados intermedios del SO. Obtén más información sobre este aviso de seguridad.

Realiza las siguientes acciones si tienes apps de Flutter o Dart orientadas a Android, Windows o Linux:

  1. Actualiza a las siguientes versiones de Dart y Flutter:

    • Dart 3.13.7 o una versión posterior
    • Flutter 3.47.8 o posterior (con Dart 3.13.7 o posterior)
  2. Vuelve a compilar la app.

  3. Vuelve a implementar tu app o objeto binario. Vuelve a implementar tus apps o objetos binarios de Android, Windows y Linux para que incluyan las actualizaciones con la corrección de seguridad.

Apps de Flutter orientadas a plataformas de Apple o Windows y que usan Cloud Firestore

Sigue estos pasos si tienes una app de Flutter orientada a plataformas de Apple (por ejemplo, iOS) y tu app usa Cloud Firestore:

  1. Determina la versión del complemento adecuada para tu app. Según la versión actual del complemento, elige una versión que sea adecuada para tu app.

    Complemento de FlutterFire (flutterfire): iOS, macOS o Windows

    Versiones de complementos afectadas Versiones del complemento con la corrección de seguridad
    cloud_firestore 7.0.0 y versiones anteriores
    (excepto 6.10.1 y 6.10.2)
    • Opción 1: cloud_firestore 7.1.0 (BoM de FlutterFire 5.1.0 o posterior)
    • Opción 2:
      • iOS y macOS: cloud_firestore 6.10.1 (BoM de FlutterFire 4.20.1)
      • Windows: cloud_firestore 6.10.2 (BoM de FlutterFire 4.20.2)
  2. Actualiza tu app. Ejecuta flutter pub upgrade para actualizar el complemento de cloud_firestore a la versión que quieras.

  3. Vuelve a compilar la app.

  4. Vuelve a publicar tu app. Vuelve a publicar tu app con la versión actualizada del SDK (por ejemplo, en la tienda de aplicaciones de Apple o en tus canales de distribución para computadoras de escritorio).

Después de volver a publicar la app, debes alentar a los usuarios finales a que la actualicen a la versión más reciente. Debido a que el paquete de certificados raíz de TLS se compila en el objeto binario de la aplicación, las actualizaciones del sistema operativo o los cambios del servidor por sí solos no solucionan las compilaciones de aplicaciones instaladas anteriormente.



Apps para plataformas de Apple (nativas) que usan Cloud Firestore

Realiza las siguientes acciones si tienes una app nativa para plataformas de Apple (por ejemplo, iOS) y tu app usa Cloud Firestore:

  1. Determina la versión del SDK adecuada para tu app. Según la versión actual del SDK, elige una versión del SDK que sea adecuada para tu app.

    SDK de Firebase para plataformas de Apple (específicamente, FirebaseFirestore)

    Versiones del SDK afectadas Versiones del SDK con la corrección de seguridad
    13.1.0 y anteriores
    (excepto 12.19.3)
    • Opción 1: 13.1.1 o posterior
    • Opción 2: 12.19.3
  2. Actualiza tu app. Sigue las instrucciones para tu canal de distribución:

    • SPM: Actualiza la versión de dependencia del paquete firebase-ios-sdk en Xcode o Package.swift.

    • Distribución de ZIP: Desde Versiones de GitHub, descarga Firebase.zip para la versión deseada y reemplaza los paquetes .xcframework existentes en tu proyecto.

    • Carthage: Actualiza tu Cartfile para que se oriente a la versión deseada y actualiza las dependencias a través de Carthage.

  3. Vuelve a publicar tu app. Vuelve a publicar tu app con la versión actualizada del SDK (por ejemplo, en la tienda de aplicaciones de Apple o en tus canales de distribución para computadoras de escritorio).

Después de volver a publicar tu app, debes alentar a los usuarios finales a que la actualicen a la versión más reciente. Debido a que el paquete de certificados raíz de TLS se compila en el objeto binario de la aplicación, las actualizaciones del sistema operativo o los cambios del servidor por sí solos no solucionan las compilaciones de aplicaciones instaladas anteriormente.



Apps de Unity orientadas a plataformas de Apple o de escritorio y que usan Cloud Firestore

Toma las siguientes medidas si tienes una app de Unity orientada a plataformas de Apple (por ejemplo, iOS) y tu app usa Cloud Firestore:

  1. Determina la nueva versión del SDK adecuada para tu app. Según la versión actual del SDK, elige una versión que sea adecuada para tu app.

    SDK de Firebase para Unity (firebase-unity-sdk): iOS o computadoras de escritorio (Linux, macOS y Windows)

    Versiones del SDK afectadas Versiones del SDK con la corrección de seguridad
    14.0.0 y anteriores
    (excepto 13.17.1)
    • Opción 1: 14.1.0 o posterior
    • Opción 2: 13.17.1
  2. Actualiza tu app. Descarga el SDK de Firebase Unity para la versión que quieras desde la página de versiones de GitHub.

  3. Vincula y vuelve a compilar tu app. Vincula y vuelve a compilar tus aplicaciones para iOS y computadoras de escritorio.

  4. Vuelve a publicar tu app. Vuelve a publicar tu app con la versión actualizada del SDK (por ejemplo, en la tienda de aplicaciones de Apple o en tus canales de distribución para computadoras de escritorio).

Después de volver a publicar la app, debes alentar a los usuarios finales a que la actualicen a la versión más reciente. Debido a que el paquete de certificados raíz de TLS se compila en el objeto binario de la aplicación, las actualizaciones del sistema operativo o los cambios del servidor por sí solos no solucionan las compilaciones de aplicaciones instaladas anteriormente.



Apps de C++ orientadas a plataformas de Apple o de escritorio y que usan Cloud Firestore

Sigue estos pasos si tienes una app de C++ orientada a plataformas de Apple (por ejemplo, iOS) y tu app usa Cloud Firestore:

  1. Determina la nueva versión del SDK adecuada para tu app. Según la versión actual del SDK, elige una versión del SDK que sea adecuada para tu app.

    SDK de Firebase para C++ (firebase_cpp_sdk): iOS o escritorio (Linux, macOS o Windows)

    Versiones del SDK afectadas Versiones del SDK con la corrección de seguridad
    14.0.0 y anteriores
    (excepto 13.13.1)
    • Opción 1: 14.1.0 o posterior
    • Opción 2: 13.13.1
  2. Actualiza tu app. Descarga el SDK de Firebase C++ de la versión que quieras desde la página de versiones de GitHub.

  3. Vincula y vuelve a compilar tu app. Vincula y vuelve a compilar tus aplicaciones para iOS y computadoras de escritorio.

  4. Vuelve a publicar tu app. Vuelve a publicar tu app con la versión actualizada del SDK (por ejemplo, en la tienda de aplicaciones de Apple o en tus canales de distribución para computadoras de escritorio).

Después de volver a publicar la app, debes alentar a los usuarios finales a que la actualicen a la versión más reciente. Debido a que el paquete de certificados raíz de TLS se compila en el objeto binario de la aplicación, las actualizaciones del sistema operativo o los cambios del servidor por sí solos no solucionan las compilaciones de aplicaciones instaladas anteriormente.



Apps para Android (nativas) que usan el complemento de Gradle de Firebase App Distribution

Sigue estos pasos si tienes una app nativa para Android que usa el complemento de Gradle para Firebase App Distribution:

  1. Determina la nueva versión del complemento que sea adecuada para tu app. Puedes usar la versión 5.3.1 o una posterior.

  2. Actualiza tu archivo Gradle. En el archivo de Gradle de nivel raíz (nivel de proyecto) (<project>/build.gradle.kts o <project>/build.gradle), actualiza el complemento de Gradle de App Distribution a la versión 5.3.1 o una posterior:

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

    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. Limpia y verifica tus flujos de trabajo de CI/CD. Asegúrate de que tus canalizaciones de compilación e implementación automatizadas (como GitHub Actions, GitLab CI o Jenkins) extraigan la versión actualizada del complemento cuando ejecuten tareas como ./gradlew appDistributionUpload<Variant>.



Información detallada sobre lo que sucedió

El 19 de octubre de 2026, Google se enteró de que las claves privadas de varios certificados intermedios de autoridad certificadora (AC) emitidos por una autoridad certificadora externa (eMudhra) se habían visto comprometidas y, posteriormente, se habían revocado (para obtener más detalles, consulta la entrada del blog de seguridad de Google).

Si bien los sistemas operativos y los navegadores web distribuyeron actualizaciones para dejar de confiar en estos certificados intermedios en los almacenes de confianza del sistema, los productos afectados validan las conexiones de seguridad de la capa de transporte (TLS) con un paquete de certificados raíz incorporado que se compila en el objeto binario.

Debido a que los atacantes pueden usar las claves de la autoridad certificadora vulnerada para falsificar certificados HTTPS que parezcan legítimos, las apps afectadas no podrán detectar la revocación y seguirán confiando en las credenciales falsas. Como resultado, los atacantes en la red pueden realizar ataques de intermediario para suplantar la identidad de los servidores de backend reales, incluidos Firestore y cualquier extremo HTTPS con el que se comuniquen las apps de Flutter o Dart afectadas o el complemento de Gradle de App Distribution, interceptando, robando o alterando de forma secreta los datos sensibles de los usuarios.

Para proteger las conexiones de los clientes contra esta autoridad certificadora comprometida, mitigamos este problema quitando los certificados raíz que se encadenan a los intermediarios de eMudhra comprometidos en los siguientes casos:

  • SDKs de Cloud Firestore para Apple, Flutter, Unity y C++

    El backend de Cloud Firestore no se vio afectado, como tampoco ninguna otra parte del producto Cloud Firestore.

  • El SDK de Flutter y el complemento de FlutterFire para Cloud Firestore

  • El complemento de Gradle de Firebase App Distribution

    El backend de App Distribution no se vio afectado, como tampoco ninguna otra parte del producto App Distribution.