الأمن السيبراني

ثغرات غير مصححة في نظام الملفات في ملايين الأجهزة المدمجة

في عالم الأجهزة المدمجة، تعتبر الأمان من الأولويات القصوى. تكشف الثغرات الجديدة في مكتبة FatFs عن مخاطر محتملة تهدد ملايين الأجهزة.

الكشف عن ثغرات غير مصححة في نظام الملفات المدمج في ملايين الأجهزة

كشفت شركة الأمان runZero عن سبع ثغرات في FatFs، مكتبة نظام ملفات صغيرة تسمح للجهاز بقراءة وكتابة تنسيقات FAT وexFAT المستخدمة في محركات USB وبطاقات SD.

تعتبر هذه الثغرات مهمة لأن FatFs موجودة في كل مكان تقريبًا. فهي تأتي داخل البرنامج الثابت الذي يشغل الكاميرات الأمنية والطائرات بدون طيار ووحدات التحكم الصناعية ومحافظ العملات المشفرة والأجهزة الأخرى المبنية على أنظمة التشغيل في الوقت الحقيقي.

في الأنظمة الأكثر تأثرًا، يمكن للمهاجم الذي يحصل على محرك USB مزيف أو بطاقة SD أو ملف تحديث على جهاز ما أن يفسد ذاكرته ويشغل شفرته الخاصة.

تفتقر العديد من الأجهزة المدمجة إلى الحماية من الذاكرة الموجودة في الهواتف وأجهزة الكمبيوتر، ولهذا السبب تقول runZero إن “أي وصول جسدي يؤدي إلى كسر الحماية”. يجب ألا تسلم كشك عام أو كاميرا بها فتحة SD أو ماكينة صراف آلي أو آلة تصويت بها منفذ USB السيطرة الكاملة بعد لحظة من الوصول الجسدي، لكن هنا يمكن ذلك.

تعمل جميع الثغرات السبع بنفس الطريقة الأساسية. يحاول الجهاز قراءة حجم تخزين أو صورة برنامج ثابت تم تشويهها عمدًا، ويسيء FatFs معالجة البيانات السيئة. قامت runZero بتصنيف المجموعة على أنها متوسطة إلى عالية، دون أي ثغرات حرجة.

الثغرة الرئيسية هي CVE-2026-6682 (CVSS 7.6)، وهي تجاوز عددي في الشيفرة التي تقوم بتركيب حجم FAT32. يمكن أن ينتج عن الرياضيات السيئة حجم ملف خاطئ، والذي تتعامل معه الشيفرة اللاحقة كطول قراءة حقيقي. على الأجهزة الحقيقية، يمكن أن يؤدي ذلك إلى فساد الذاكرة وتنفيذ الشفرة.

إليك جميع الثغرات السبع، مرتبة من الأسوأ إلى الأفضل حسب تصنيف runZero:

  • CVE-2026-6682 (7.6، عالي): تجاوز عددي في تركيب FAT32 يؤدي إلى فساد الذاكرة وإمكانية تنفيذ الشفرة. يمكن الوصول إليه من خلال بعض تحديثات البرنامج الثابت، وليس فقط عبر الوسائط الفيزيائية.
  • CVE-2026-6687 (7.6، عالي): حقل تسمية حجم exFAT يتجاوز مؤشراً صغيرًا، مما يمنح المهاجم موطئ قدم نظيف لفساد الذاكرة.
  • CVE-2026-6688 (7.6، عالي): أسماء الملفات الطويلة تتجاوز الشيفرة المحيطة التي تضعها العديد من المشاريع حول FatFs، مثل strcpy لـ fno.fname إلى مصفوفة ثابتة. من الصعب إصلاحها داخل FatFs وحده.
  • CVE-2026-6685 (6.1، متوسط): التفاف رياضي في معالجة الذاكرة المؤقتة على الأحجام المجزأة التي يمكن أن تفسد البيانات بصمت.
  • CVE-2026-6683 (4.6، متوسط): قسمة على صفر في exFAT تؤدي إلى تعطل الجهاز. في تدفق التحديث، يمكن أن تتسبب في تعطل الأجهزة. يمكن الوصول إليها أيضًا من خلال بعض تحديثات البرنامج الثابت.
  • CVE-2026-6686 (4.6، متوسط): ملف يمتد بعد نهايته يمكن أن يتسرب بيانات متبقية من ملفات محذوفة سابقًا.
  • CVE-2026-6684 (4.6، متوسط): جدول تقسيم GPT المشوه (خريطة القرص) يمكن أن يتسبب في توقف الجهاز أثناء التركيب. إنها الوحيدة من بين السبع التي تم إصلاحها في التحديث، في FatFs R0.16.

إليك الجزء الصعب. يتم صيانة FatFs بواسطة مطور واحد في زاوية صغيرة من الإنترنت، وتقول runZero إنها حاولت مرارًا الوصول إلى المسؤول وشاركت مركز تنسيق JPCERT/CC في اليابان، دون رد.

حسب حساب runZero، لا يوجد إصلاح من المصدر لثغرات فساد الذاكرة، ولا قائمة بريدية للأمان، ولا طريقة للعديد من المنتجات التي تتضمن FatFs لمعرفة أنها متأثرة. يساعد التحديث في حل مشكلة توقف GPT، حيث تمنع النسخة الحالية حدوثها، لكن البقية تقع على عاتق البائعين من أجل إصلاحها بأنفسهم.

تذكر runZero المنصات المتأثرة، بما في ذلك Espressif ESP-IDF، STMicroelectronics STM32Cube، Zephyr، MicroPython، ArduPilot، RT-Thread، Mbed، Samsung TizenRT، وSWUpdate المحدث. هذا يدفع المشكلة إلى أسفل إلى أجهزة إنترنت الأشياء الاستهلاكية، والمعدات الصناعية، والطائرات بدون طيار، ومحافظ العملات المشفرة.

اعتبارًا من الكشف في 1 يوليو من runZero، لم يتم الإبلاغ عن أي هجمات باستخدام هذه الثغرات، ولم تظهر أي منها منذ ذلك الحين. لكن مواد الاستغلال متاحة بالفعل للجمهور: قامت runZero بشحن صور قرص نموذجية، وأداة اختبار، ومثال استغلال يعمل على أساس QEMU في مستودع مرفق.

إذا كنت تبني برنامجًا ثابتًا يتعامل مع وسائط FAT أو exFAT، فإن النصيحة مباشرة. ابحث عن نسخة FatFs في منتجك، وقم بمراجعة الشيفرة المحيطة بها، واهتم جيدًا بكيفية التعامل مع أسماء الملفات وأحجام الملفات، وخطط لإصلاحها.

إذا كنت تدير أجهزة متأثرة، اعتبر المنافذ الفيزيائية وقنوات التحديث كسطح هجوم: حدد من يمكنه توصيل الوسائط، وراقب تحديثات البرنامج الثابت من البائعين.

لماذا يستمر حدوث ذلك

قامت runZero بتدقيق FatFs يدويًا لأول مرة في عام 2017 ووجدت القليل مما يستحق الإبلاغ عنه. وعادت في مارس 2026، حيث وجهت إعدادًا جاهزًا إلى نفس الشيفرة: Visual Studio Code، وGitHub Copilot في وضع “تلقائي”، وبعض التعليمات البسيطة.

بنى LLM أداة fuzzer، وهي أداة تغذي بيانات مشوهة إلى الشيفرة حتى يحدث شيء مكسور. وقد أظهر ذلك ثغرات لم يتم اكتشافها في التدقيق اليدوي وساعد في تأكيد أنها قابلة للاستغلال.

هذا يتناسب مع نمط متزايد. في أواخر عام 2024، اكتشف وكيل Big Sleep من Google ثغرة ذاكرة قابلة للاستغلال في SQLite لم يتم اكتشافها من خلال الفحص العادي.

قبل شهر فقط، اكتشف وكيل ذكاء اصطناعي مستقل 21 ثغرة في أمان الذاكرة في FFmpeg، مكتبة C مدمجة أخرى على نطاق واسع. نقطة runZero واضحة: إذا كان خط أنابيب ذكاء اصطناعي شبه جاهز يمكنه العثور على هذه الثغرات، فيمكن لأي شخص أن يفعل ذلك، لذا فإن السكوت عنها بهدوء لا يحمي أحدًا.

مشكلة الإصلاح مألوفة. تتوقع runZero أن تستغرق الإصلاحات من أسفل إلى أعلى سنوات، وليس أيامًا، وPixieFail هو سابقة: دفعة من تسع ثغرات في شفرة التمهيد الشبكي لـ EDK II، البرنامج الثابت الذي يقف وراء العديد من العلامات التجارية لأجهزة الكمبيوتر والخوادم، والتي كان بائعوها بطيئين في إصلاحها. FatFs لها نفس الشكل وخط إصلاح أضعف، لأنه لا يوجد مصدر مستجيب على الإطلاق.

راقب شيئان: ما إذا كان مسؤول FatFs سيظهر مع إصلاح، وكيف ستستجيب المنصات الكبيرة التي تتضمنه. حتى يفعلوا ذلك، افترض أن العديد من الأجهزة الشاحنة تقرأ تخزين غير موثوق به بشيفرة لا يوجد لها إصلاح خلفها.

مع استمرار تطور التهديدات الأمنية، يجب على الشركات والمستخدمين البقاء على اطلاع دائم وإجراء التحديثات اللازمة لحماية أجهزتهم.

مقالات ذات صلة

زر الذهاب إلى الأعلى