ב-19 באוקטובר 2026, Google גילתה שרשות אישורים (eMudhra) נפרצה. כדי לטפל בבעיית האבטחה הזו, פרסמנו מיד תיקוני אבטחה לכמה תחומים בסביבה העסקית שלנו.
בדף הזה מוסבר אילו סוגי אפליקציות מושפעים מהפריצה לאישור של eMudhra ומה צריך לעשות כדי לטפל בבעיה. אנחנו מספקים גם מידע מפורט על בעיית האבטחה.
סוגי האפליקציות שמושפעים מהשינוי והפעולות הנדרשות
בגלל אופי הבעיה, היא השפיעה על הרבה סוגים שונים של אפליקציות. אם סוג האפליקציה שלכם מופיע כאן, סביר להניח שהיא הושפעה מהבעיה. כדי לדעת מה צריך לעשות, קראו את הקטע הרלוונטי.
- אפליקציות Flutter (ללא קשר לפלטפורמת היעד או למוצר)
- אפליקציות לפלטפורמות של אפל (מקוריות) שמשתמשות ב-Cloud Firestore
- אפליקציות Unity שמטרגטות פלטפורמות של אפל או של מחשבים וגם משתמשות ב-Cloud Firestore
- אפליקציות C++ שמטרגטות פלטפורמות של Apple או פלטפורמות למחשב וגם משתמשות ב-Cloud Firestore
- אפליקציות ל-Android (מקוריות) שמשתמשות בפלאגין Firebase App Distribution Gradle
גם פלטפורמות אחרות שנתמכות על ידי הקהילה מושפעות (לדוגמה, אפליקציות React Native שמטרגטות פלטפורמות של אפל ומשתמשות ב-Firestore).
אפליקציות Flutter
אפליקציות Flutter הושפעו בדרכים שונות. כדי להבין אילו פעולות צריך לבצע, קראו את הקטע הרלוונטי.
אפליקציות Flutter שמטרגטות ל-Android, ל-Windows או ל-Linux
דפדפנים ומערכות הפעלה דחפו רשימות חסימה של אישורי ביניים במקרי חירום, אבל dart:io ב-Android, ב-Windows וב-Linux מאמת שרשראות של אישורי TLS באמצעות מנוע BoringSSL משלו, ולא קורא רשימות חסימה של אישורי ביניים של מערכת ההפעלה. מידע נוסף על ייעוץ האבטחה הזה
אם יש לכם אפליקציות Flutter או Dart שמטרגטות את Android, Windows או Linux, בצעו את הפעולות הבאות:
משדרגים לגרסאות הבאות של Dart ו-Flutter:
- Dart 3.13.7 ואילך
- Flutter בגרסה 3.47.8 ואילך (עם Dart בגרסה 3.13.7 ואילך)
בונים מחדש את האפליקציה.
פורסים מחדש את האפליקציה או את הקובץ הבינארי. פורסים מחדש את האפליקציות או הקבצים הבינאריים של Android, Windows ו-Linux, כדי שיכללו את העדכונים עם תיקון האבטחה.
אפליקציות Flutter שמטרגטות פלטפורמות של אפל או של Windows וגם משתמשות ב-Cloud Firestore
אם יש לכם אפליקציית Flutter שמטרגטת פלטפורמות של אפל (לדוגמה, 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 המעודכנת (לדוגמה, ב-App Store של אפל או בערוצי ההפצה למחשב).
אחרי שמפרסמים מחדש את האפליקציה, צריך לעודד את משתמשי הקצה לעדכן לגרסה העדכנית של האפליקציה. מכיוון שחבילת אישורי הבסיס של TLS מקומפלת לתוך הקובץ הבינארי של האפליקציה, עדכוני מערכת ההפעלה או שינויים בצד השרת לבדם לא מתקנים גרסאות build של אפליקציות שהותקנו בעבר.
אפליקציות לפלטפורמות של אפל (מותאמות) שמשתמשות ב-Cloud Firestore
אם יש לכם אפליקציה מקורית לפלטפורמות של אפל (לדוגמה, iOS) והאפליקציה משתמשת ב-Cloud Firestore, בצעו את הפעולות הבאות:
קובעים את גרסת ה-SDK שמתאימה לאפליקציה. בהתאם לגרסת ה-SDK הנוכחית, בוחרים גרסת SDK שמתאימה לאפליקציה.
SDK של Firebase ל-Apple פלטפורמות (ספציפית,
FirebaseFirestore)גרסאות ה-SDK המושפעות גרסאות SDK עם תיקון האבטחה 13.1.0וגרסאות קודמות
(לא כולל12.19.3)-
אפשרות 1:
13.1.1ואילך -
אפשרות 2:
12.19.3
-
אפשרות 1:
מעדכנים את האפליקציה. פועלים לפי ההוראות של ערוץ ההפצה:
SPM: מעדכנים את גרסת יחסי התלות של החבילה
firebase-ios-sdkב-Xcode או ב-Package.swift.הפצה של קובץ ZIP: מורידים את
Firebase.zipלגרסה הרצויה מ-GitHub Releases ומחליפים את החבילות הקיימות של.xcframeworkבפרויקט.Carthage: מעדכנים את ה-Cartfile כך שיטרגט את הגרסה הרצויה, ומעדכנים את יחסי התלות דרך Carthage.
מפרסמים מחדש את האפליקציה. מפרסמים מחדש את האפליקציה עם גרסת ה-SDK המעודכנת (לדוגמה, ב-App Store של אפל או בערוצי ההפצה למחשב).
אחרי שתפרסמו מחדש את האפליקציה, תצטרכו לעודד את משתמשי הקצה לעדכן לגרסה העדכנית של האפליקציה. מכיוון שחבילת אישורי הבסיס של TLS מקומפלת לתוך הקובץ הבינארי של האפליקציה, עדכוני מערכת הפעלה או שינויים בצד השרת לבדם לא מתקנים גרסאות build של אפליקציות שהותקנו בעבר.
אפליקציות Unity שמטרגטות פלטפורמות של אפל או של מחשבים וגם משתמשות ב-Cloud Firestore
אם יש לכם אפליקציית Unity שמטרגטת פלטפורמות של אפל (לדוגמה, iOS) וגם האפליקציה משתמשת ב-Cloud Firestore, אתם צריכים לבצע את הפעולות הבאות:
קובעים איזו גרסת SDK חדשה מתאימה לאפליקציה. בהתאם לגרסת ה-SDK הנוכחית, בוחרים גרסת SDK שמתאימה לאפליקציה.
Firebase SDK ל-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:
מעדכנים את האפליקציה. מורידים את Firebase Unity SDK בגרסה הרצויה מדף הגרסאות ב-GitHub.
מקשרים ובונים מחדש את האפליקציה. מקשרים ובונים מחדש את האפליקציות ל-iOS ולמחשב.
מפרסמים מחדש את האפליקציה. מפרסמים מחדש את האפליקציה עם גרסת ה-SDK המעודכנת (לדוגמה, ב-Apple App Store או בערוצי ההפצה למחשב).
אחרי הפרסום מחדש של האפליקציה, צריך לעודד את משתמשי הקצה לעדכן לגרסה העדכנית של האפליקציה. מכיוון שחבילת אישורי הבסיס של TLS מקומפלת לקובץ הבינארי של האפליקציה, עדכוני מערכת ההפעלה או שינויים בצד השרת לבדם לא מתקנים גרסאות build של אפליקציות שהותקנו בעבר.
אפליקציות C++ שמטרגטות פלטפורמות של Apple או של מחשבים וגם משתמשות ב-Cloud Firestore
אם יש לכם אפליקציית C++ שמטרגטת פלטפורמות של אפל (לדוגמה, iOS) והאפליקציה משתמשת ב-Cloud Firestore, בצעו את הפעולות הבאות:
קובעים איזו גרסת SDK חדשה מתאימה לאפליקציה. בהתאם לגרסת ה-SDK הנוכחית, בוחרים גרסת SDK שמתאימה לאפליקציה.
Firebase SDK ל-C++ (
firebase_cpp_sdk) – iOS או מחשב (Linux, macOS, Windows)גרסאות ה-SDK המושפעות גרסאות SDK עם תיקון האבטחה 14.0.0וגרסאות קודמות
(לא כולל13.13.1)-
אפשרות 1:
14.1.0ואילך -
אפשרות 2:
13.13.1
-
אפשרות 1:
מעדכנים את האפליקציה. מורידים את Firebase C++ SDK לגרסה הרצויה מדף הגרסאות ב-GitHub.
מקשרים ובונים מחדש את האפליקציה. מקשרים ובונים מחדש את האפליקציות ל-iOS ולמחשב.
מפרסמים מחדש את האפליקציה. מפרסמים מחדש את האפליקציה עם גרסת ה-SDK המעודכנת (לדוגמה, ב-App Store של אפל או בערוצי ההפצה למחשב).
אחרי שמפרסמים מחדש את האפליקציה, צריך לעודד את משתמשי הקצה לעדכן לגרסה העדכנית של האפליקציה. מכיוון שחבילת אישורי הבסיס של TLS מקומפלת לתוך הקובץ הבינארי של האפליקציה, עדכוני מערכת ההפעלה או שינויים בצד השרת לבדם לא מתקנים גרסאות build של אפליקציות שהותקנו בעבר.
אפליקציות ל-Android (מותאמות ספציפית) שמשתמשות בפלאגין Firebase App Distribution של Gradle
אם יש לכם אפליקציית 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. מוודאים שצינורות עיבוד הנתונים האוטומטיים של ה-build והפריסה (כמו GitHub Actions, GitLab CI או Jenkins) שולפים את הגרסה המעודכנת של הפלאגין כשמבצעים משימות כמו
./gradlew appDistributionUpload<Variant>.
מידע מפורט על מה שקרה
ב-19 באוקטובר 2026, Google גילתה שהמפתחות הפרטיים של כמה אישורים של רשות אישורים (CA) ביניים שהונפקו על ידי רשות אישורים של צד שלישי (eMudhra) נחשפו ובוטלו לאחר מכן (לפרטים נוספים, ראו את הפוסט בבלוג האבטחה של Google).
מערכות הפעלה ודפדפני אינטרנט הפיצו עדכונים כדי להסיר את האמון באישורים האלה במאגרי האישורים של המערכת, אבל המוצרים המושפעים מאמתים חיבורי Transport Layer Security (TLS) באמצעות חבילת אישורי בסיס מוטמעת שמקומפלת לקובץ הבינארי.
תוקפים יכולים להשתמש במפתחות של רשות האישורים שנחשפו כדי לזייף אישורי HTTPS שנראים לגיטימיים, ולכן אפליקציות שמושפעות מהבעיה לא יזהו את הביטול וימשיכו לסמוך על פרטי הכניסה המזויפים. כתוצאה מכך, תוקפים ברשת יכולים לבצע התקפות אדם בתווך כדי להתחזות לשרתי בק-אנד אמיתיים, כולל Firestore וכל נקודות הקצה של HTTPS שאפליקציות Flutter/Dart או הפלאגין Gradle של הפצת אפליקציות יוצרים איתן קשר, וליירט, לגנוב או לשנות בחשאי נתוני משתמשים רגישים.
כדי להגן על החיבורים של הלקוחות מפני רשות האישורים שנפגעה, הסרנו את אישורי הבסיס שמקושרים לאישורי הביניים של eMudhra שנפגעו, במקומות הבאים:
ערכות SDK של Cloud Firestore ל-Apple, ל-Flutter, ל-Unity ול-C++
ה-backend של Cloud Firestore לא הושפע, וגם לא חלקים אחרים של המוצר Cloud Firestore.
ערכת ה-SDK של Flutter והפלאגין FlutterFire ל-Cloud Firestore
הפלאגין של Firebase App Distribution Gradle
ה-backend של App Distribution לא הושפע, וגם לא חלקים אחרים של המוצר App Distribution.