2026 年 10 月 19 日,Google 發現有憑證授權單位 (eMudhra) 遭到入侵。為解決這項安全性問題,我們立即針對生態系統的多個領域發布安全性修補程式。
本頁面可協助您瞭解受影響的應用程式類型,以及需要採取哪些行動,來修正這個 eMudhra 憑證遭入侵的問題。我們也會提供安全性問題的詳細資訊。
受影響的應用程式類型和必要動作
由於這項安全性問題的性質,許多不同類型的應用程式都受到影響。如果您的應用程式類型列在下方,則可能受到影響。請參閱適用章節,瞭解應採取的行動。
- Flutter 應用程式 (不限目標平台或產品)
- 使用 Cloud Firestore 的 Apple 平台應用程式 (原生)
- 指定 Apple 或電腦平台且使用 Cloud Firestore 的 Unity 應用程式
- 指定 Apple 或電腦平台且使用 Cloud Firestore 的 C++ 應用程式
- 使用 Firebase App Distribution Gradle 外掛程式的 Android 應用程式 (原生)
其他社群支援的平台也會受到影響 (例如,指定 Apple 平台且使用 Firestore 的 React Native 應用程式)。
Flutter 應用程式
Flutter 應用程式受到多種影響。請詳閱適用章節,瞭解應採取的行動。
指定 Android、Windows 或 Linux 的 Flutter 應用程式
雖然瀏覽器和作業系統會推送緊急中繼憑證封鎖清單,但 Android、Windows 和 Linux 上的 dart:io 會使用內建的 BoringSSL 引擎驗證 TLS 憑證鏈結,不會讀取 OS 中繼憑證封鎖清單。進一步瞭解這份安全性公告。
如果您的 Flutter 或 Dart 應用程式指定 Android、Windows 或 Linux,請採取下列行動:
升級至下列 Dart 和 Flutter 版本:
- Dart 3.13.7 以上版本
- Flutter 3.47.8 以上版本 (搭配 Dart 3.13.7 以上版本)
重建應用程式。
重新部署應用程式或二進位檔。 重新部署 Android、Window 和 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 應用程式商店或電腦發布管道)。
重新發布應用程式後,您需要鼓勵使用者更新至最新版本應用程式。由於 TLS 根憑證套件會編譯至應用程式二進位檔,因此單靠作業系統更新或伺服器端變更,無法修復先前安裝的應用程式版本。
使用 Cloud Firestore 的 Apple 平台應用程式 (原生)
如果您有原生 Apple 平台應用程式 (例如 iOS),且應用程式使用 Cloud Firestore,請採取下列行動:
判斷適合應用程式的 SDK 版本。 視目前的 SDK 版本而定,選擇適合應用程式的 SDK 版本。
Firebase Apple 平台 (具體來說是
FirebaseFirestore) 的 SDK受影響的 SDK 版本 含有安全性修正的 SDK 版本 13.1.0和更早版本
(不含12.19.3)-
選項 1:
13.1.1以上版本 -
選項 2:
12.19.3
-
選項 1:
更新應用程式。 請按照發行管道的操作說明進行:
SPM:在 Xcode 或
Package.swift中更新firebase-ios-sdk套件依附元件版本。Zip 發行版:從 GitHub 版本下載所需版本的
Firebase.zip,並取代專案中現有的.xcframework套件。Carthage:更新 Cartfile,指定所需版本,並透過 Carthage 更新依附元件。
重新發布應用程式。 重新發布已更新 SDK 版本的應用程式 (例如發布到 Apple 應用程式商店或電腦版發布管道)。
重新發布應用程式後,您需要鼓勵使用者更新至最新版本。由於 TLS 根憑證套件會編譯至應用程式二進位檔,因此單靠作業系統更新或伺服器端變更,無法修正先前安裝的應用程式版本。
指定 Apple 或電腦平台且使用 Cloud Firestore 的 Unity 應用程式
如果您的 Unity 應用程式指定 Apple 平台 (例如 iOS),且使用 Cloud Firestore,請採取下列行動:
判斷適合應用程式的新 SDK 版本。 根據目前的 SDK 版本,選擇適合應用程式的 SDK 版本。
Firebase SDK for 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:
更新應用程式。 從 GitHub 版本頁面下載所需版本的 Firebase Unity SDK。
連結並重新建構應用程式。連結並重新建構 iOS 和電腦應用程式。
重新發布應用程式。 重新發布已更新 SDK 版本的應用程式 (例如發布至 Apple 應用程式商店或電腦版發布管道)。
重新發布應用程式後,您需要鼓勵使用者更新至最新版本應用程式。由於 TLS 根憑證套件會編譯至應用程式二進位檔,因此單靠作業系統更新或伺服器端變更,無法修復先前安裝的應用程式版本。
指定 Apple 或電腦平台且使用 Cloud Firestore 的 C++ 應用程式
如果您的 C++ 應用程式指定 Apple 平台 (例如 iOS),且使用 Cloud Firestore,請採取下列行動:
判斷適合應用程式的新 SDK 版本。 根據目前的 SDK 版本,選擇適合應用程式的 SDK 版本。
Firebase C++ SDK (
firebase_cpp_sdk) - iOS 或電腦 (Linux、macOS、Windows)受影響的 SDK 版本 含有安全性修正的 SDK 版本 14.0.0和更早版本
(不含13.13.1)-
選項 1:
14.1.0以上版本 -
選項 2:
13.13.1
-
選項 1:
更新應用程式。 從 GitHub 版本頁面下載所需版本的 Firebase C++ SDK。
連結並重新建構應用程式。連結並重新建構 iOS 和電腦應用程式。
重新發布應用程式。 重新發布已更新 SDK 版本的應用程式 (例如發布到 Apple 應用程式商店或電腦版發布管道)。
重新發布應用程式後,您需要鼓勵使用者更新至最新版本應用程式。由於 TLS 根憑證套件會編譯至應用程式二進位檔,因此單靠作業系統更新或伺服器端變更,無法修復先前安裝的應用程式版本。
使用 Firebase App Distribution Gradle 外掛程式的 Android 應用程式 (原生)
如果您的原生 Android 應用程式使用 Firebase App Distribution Gradle 外掛程式,請採取下列行動:
判斷適合應用程式的新外掛程式版本。 您可以使用 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>等工作時,會提取更新後的 Plugin 版本。
詳細說明
2026 年 10 月 19 日,Google 發現第三方憑證授權單位 (eMudhra) 核發的多個中繼憑證授權單位 (CA) 憑證私密金鑰遭外洩,隨後已撤銷 (詳情請參閱 Google 安全性網誌文章)。
雖然作業系統和網路瀏覽器已發布更新,不再信任系統信任存放區中的這些中繼憑證,但受影響的產品會使用編譯至二進位檔的內嵌根憑證組合,驗證傳輸層安全標準 (TLS) 連線。
攻擊者可能會利用遭入侵的憑證授權單位金鑰,偽造看似合法的 HTTPS 憑證,因此受影響的應用程式無法偵測到撤銷,並繼續信任假憑證。因此,網路上的攻擊者可以發動中間人攻擊,冒充真實的後端伺服器,包括 Firestore 和受影響的 Flutter/Dart 應用程式或 Firebase 應用程式發布 Gradle 外掛程式聯絡的任何 HTTPS 端點,暗中攔截、竊取或竄改敏感的使用者資料。
為保護用戶端連線不受這個遭入侵的憑證授權單位影響,我們已移除連結至遭入侵 eMudhra 中繼憑證的根憑證,藉此緩解這個問題:
適用於 Apple、Flutter、Unity 和 C++ 的 Cloud Firestore SDK
Cloud Firestore 後端和 Cloud Firestore 產品的其他部分均未受到影響。
Flutter SDK 和 Cloud Firestore 的 FlutterFire 外掛程式
Firebase App Distribution Gradle 外掛程式
App Distribution 後端和 App Distribution 產品的其他部分均未受到影響。