- بواسطة x32x01 ||
لو بتطوّر تطبيقات باستخدام Flutter، فيه تحديث أمني مهم لازم تهتم بيه. 🚨
أصدر فريق Flutter الإصدار Flutter 3.47.8 (Stable) لإصلاح ثغرة مرتبطة بالتحقق من شهادات HTTPS، بعد اكتشاف ضعف في المفاتيح الخاصة بثماني شهادات وسيطة تابعة لشركة eMudhra. المشكلة ممكن تسمح لمهاجم على مسار الاتصال بانتحال هوية السيرفر واعتراض البيانات في التطبيقات المتأثرة.
الحل مش مجرد تحديث بيئة التطوير عندك؛ لازم تحدّث Flutter، وتعيد بناء التطبيق، وتنشر النسخة الجديدة للمستخدمين.
في أكتوبر 2026، اتكشف إن المفاتيح الخاصة بثماني شهادات وسيطة تابعة لـ eMudhra كانت ضعيفة بسبب مشكلة في توليد المفاتيح العشوائية. الضعف ده أتاح إمكانية استعادة المفاتيح الخاصة وإنشاء شهادات مزيفة تبدو موثوقة لبعض الأنظمة والتطبيقات اللي لسه بتثق في الشهادات المتأثرة.
المشكلة هنا مش إن HTTPS نفسه اتكسر، لكن إن التحقق من هوية السيرفر ممكن يفشل في ظروف معينة بسبب الثقة في شهادة متأثرة.
المخاطر المحتملة تشمل:
المهم كمان إن تحديث نظام التشغيل وحده مش بالضرورة يعالج المشكلة في كل تطبيق؛ لأن بعض مكونات التحقق من الشهادات بتكون مضمّنة داخل التطبيق نفسه.
راجع الإصدار بعد التحديث، وتأكد إن Dart وصل للإصدار المطلوب على الأقل. لو بتستخدم قناة Stable، تأكد إنك بتستخدم إصدارًا مستقرًا مناسبًا لمشروعك.
يمكنك مراجعة الاعتماديات باستخدام:
الأمر ده بيعرض الحزم اللي لها إصدارات أحدث، لكنه مش بيحدّثها تلقائيًا، ومش معناه إن كل حزمة ظاهرة فيه متأثرة بالثغرة.
على سبيل المثال، لبناء نسخة Android بصيغة APK:
اختار أمر البناء المناسب للمنصة اللي بتستهدفها، سواء Android أو Windows أو Linux.
بعض إصدارات حزمة
راجع دليل Firebase الخاص بالحادث الأمني علشان تختار الإصدار المصحح المناسب، وبعدها حدّث الاعتماديات وأعد بناء التطبيق وانشر النسخة الجديدة.
التحديث الأمني ده خطوة مهمة لحماية اتصال التطبيق بالسيرفر، خصوصًا لو التطبيق بيتعامل مع بيانات المستخدمين أو معلومات حساسة.
المراجع الأمنية الرسمية: تحذير Dart وFlutter الأمني، ودليل Firebase لمعالجة الثغرة.
أصدر فريق Flutter الإصدار Flutter 3.47.8 (Stable) لإصلاح ثغرة مرتبطة بالتحقق من شهادات HTTPS، بعد اكتشاف ضعف في المفاتيح الخاصة بثماني شهادات وسيطة تابعة لشركة eMudhra. المشكلة ممكن تسمح لمهاجم على مسار الاتصال بانتحال هوية السيرفر واعتراض البيانات في التطبيقات المتأثرة.
الحل مش مجرد تحديث بيئة التطوير عندك؛ لازم تحدّث Flutter، وتعيد بناء التطبيق، وتنشر النسخة الجديدة للمستخدمين.
🔐 إيه اللي حصل بالضبط؟
لما تطبيقك يتصل بسيرفر باستخدام HTTPS، بيتم التحقق من الشهادة الرقمية علشان التطبيق يتأكد إنه بيتواصل مع السيرفر الصحيح، وإن الاتصال مش مع جهة بتنتحل هويته.في أكتوبر 2026، اتكشف إن المفاتيح الخاصة بثماني شهادات وسيطة تابعة لـ eMudhra كانت ضعيفة بسبب مشكلة في توليد المفاتيح العشوائية. الضعف ده أتاح إمكانية استعادة المفاتيح الخاصة وإنشاء شهادات مزيفة تبدو موثوقة لبعض الأنظمة والتطبيقات اللي لسه بتثق في الشهادات المتأثرة.
المشكلة هنا مش إن HTTPS نفسه اتكسر، لكن إن التحقق من هوية السيرفر ممكن يفشل في ظروف معينة بسبب الثقة في شهادة متأثرة.
⚠️ إيه خطورة الثغرة على تطبيقات Flutter؟
لو التطبيق المتأثر بيقبل شهادة مزيفة، ومهاجم قدر يتحكم في مسار الاتصال، ممكن ينفذ هجوم يُعرف باسم Man-in-the-Middle (MitM)، يعني يعترض الاتصال بين التطبيق والسيرفر.المخاطر المحتملة تشمل:
- اعتراض البيانات المتبادلة بين التطبيق والسيرفر.
- انتحال هوية السيرفر الحقيقي.
- تعديل البيانات أثناء انتقالها، حسب طبيعة الاتصال والهجوم.
- تعريض بيانات حساسة للخطر لو التطبيق بيبعت معلومات مهمة عبر الاتصال المتأثر.
🎯 مين التطبيقات المتأثرة؟
بحسب الإرشادات الأمنية الرسمية، التأثير بيختلف حسب المنصة وطريقة الاتصال:- Android: تطبيقات Flutter وDart اللي بتستخدم اتصالات HTTPS من خلال
dart:ioوكانت مبنية بإصدارات متأثرة. - Windows: التطبيقات اللي بتستخدم
dart:ioللتحقق من شهادات TLS. - Linux: التطبيقات في البيئات اللي لسه بتثق في الشهادات المتأثرة، خصوصًا الأنظمة غير المحدّثة والحاويات اللي بتستخدم مخازن شهادات قديمة.
dart:io على المنصات المذكورة. لكن فيه حالات منفصلة مرتبطة باستخدام Firebase Cloud Firestore، ودي محتاجة مراجعة إصدار الحزمة المستخدمة.المهم كمان إن تحديث نظام التشغيل وحده مش بالضرورة يعالج المشكلة في كل تطبيق؛ لأن بعض مكونات التحقق من الشهادات بتكون مضمّنة داخل التطبيق نفسه.
🛠️ إزاي تعالج الثغرة في مشروع Flutter؟
اتبع الخطوات دي علشان تتأكد إن النسخة الجديدة من تطبيقك بتحتوي على الإصلاح.1. حدّث Flutter وDart
الإصدارات التي تحتوي على الإصلاح هي:- Flutter 3.47.8 أو أحدث إصدار مستقر يحتوي على الإصلاح.
- Dart 3.13.7 أو أحدث إصدار متوافق يحتوي على الإصلاح.
Bash:
flutter --version
flutter upgrade
flutter --version 2. راجع اعتماديات المشروع
لو مشروعك بيستخدم Firebase أو حزم Flutter إضافية، راجع الإرشادات الأمنية الخاصة بالحزم دي، وحدّث الحزم المتأثرة للإصدارات اللي تحتوي على الإصلاح.يمكنك مراجعة الاعتماديات باستخدام:
Bash:
flutter pub outdated 3. أعد بناء التطبيق
بعد تحديث SDK والاعتماديات المطلوبة، لازم تعيد بناء التطبيق؛ لأن النسخة القديمة المثبتة عند المستخدم مش هتتصلح بمجرد تحديث Flutter على جهاز المطوّر.على سبيل المثال، لبناء نسخة Android بصيغة APK:
Bash:
flutter build apk --release 4. انشر النسخة الجديدة
بعد التأكد من نجاح البناء والاختبارات:- ارفع نسخة Android الجديدة إلى قناة التوزيع المناسبة.
- انشر النسخ الجديدة من تطبيقات Windows أو Linux على قنوات التوزيع المستخدمة.
- شجّع المستخدمين على تحديث التطبيق.
- تأكد إن خطوط البناء والنشر الآلي (CI/CD) بتستخدم إصدار SDK المحدّث.
🔥 ماذا لو كان التطبيق بيستخدم Firebase؟
لو تطبيقك بيستخدم Cloud Firestore، متكتفيش بتحديث Flutter فقط من غير ما تراجع إرشادات Firebase الرسمية.بعض إصدارات حزمة
cloud_firestore تحتاج إلى تحديث منفصل، خصوصًا في تطبيقات Windows وiOS وmacOS. الإصدار المناسب بيعتمد على المنصة والإصدار الحالي من الحزمة.راجع دليل Firebase الخاص بالحادث الأمني علشان تختار الإصدار المصحح المناسب، وبعدها حدّث الاعتماديات وأعد بناء التطبيق وانشر النسخة الجديدة.
❓ الأسئلة الشائعة
------------------هل كل تطبيقات Flutter معرضة للاختراق؟
لا. التأثير بيعتمد على المنصة، وإصدار SDK، وطريقة الاتصال، ومدى استمرار الثقة في الشهادات المتأثرة. لكن لو تطبيقك بيستخدمdart:io على Android أو Windows أو Linux، لازم تراجع الإصدار وتطبّق التحديث المطلوب.هل تحديث Flutter على جهازي كفاية؟
لا. لازم تعيد بناء التطبيق بالإصدار المصحح، وتنشر النسخة الجديدة، وتشجّع المستخدمين على تحديثها. النسخ القديمة مش بتتصلح تلقائيًا.هل تطبيقات Flutter على iOS والويب متأثرة؟
مش بنفس مشكلةdart:io الموضحة في التحذير الأمني. لكن لو التطبيق بيستخدم Cloud Firestore أو حزمًا أخرى متأثرة، لازم تراجع تعليمات التحديث الخاصة بكل حزمة ومنصة.هل HTTPS بقى غير آمن؟
لا. المشكلة مرتبطة بشهادات وسيطة محددة وآلية التحقق منها في بيئات متأثرة، مش ببروتوكول HTTPS بالكامل.✅ الخلاصة
لو بتطوّر تطبيق Flutter، راجع إصدار Flutter وDart عندك، وحدّثهما إلى إصدار يحتوي على الإصلاح، وراجع اعتماديات Firebase عند الحاجة، ثم أعد بناء التطبيق وانشر النسخة الجديدة.التحديث الأمني ده خطوة مهمة لحماية اتصال التطبيق بالسيرفر، خصوصًا لو التطبيق بيتعامل مع بيانات المستخدمين أو معلومات حساسة.
المراجع الأمنية الرسمية: تحذير Dart وFlutter الأمني، ودليل Firebase لمعالجة الثغرة.