Изследователи по сигурността от runZero разкриха седем нови CVE уязвимости, засягащи FatFs – широко разпространения лек драйвер за файлови системи FAT/exFAT, който се използва в екосистемите на вградените устройства (embedded) и IoT.

Уязвимостите варират от средна (Medium) до висока (High) степен на опасност според скалата CVSS, като няма констатирани критични пропуски, но техният обхват е значителен. FatFs стои в основата на платформи като Espressif ESP-IDF, STMicroelectronics STM32Cube, Zephyr RTOS, MicroPython, ArduPilot, RT-Thread, Mbed, Samsung TizenRT и SWUpdate, които намират приложение в потребителски IoT устройства, индустриални контролери, дронове и крипто портфейли.

Проучването преразглежда ръчен одит и fuzzer тестване от 2017 г., които тогава са открили само незначителни грешки. През март 2026 г. runZero се връща към кодовата база, използвайки Visual Studio Code и GitHub Copilot в автоматичен режим, без персонализирани тестови среди или цикли за фазинг.

Този подход, подпомогнат от изкуствен интелект (LLM), е разкрил пренебрегнати преди това грешки и е помогнал за валидирането на реалната възможност за експлоатация в множество сценарии при вградените системи, подчертавайки нарастващата роля на AI в изследването на уязвимости по веригата за доставки.

Описаните уязвимости включват:

  • CVE-2026-6682 (CVSS 7.6, High) — Препълване на целочислена стойност (integer overflow) в mount_volume() по време на монтиране на FAT32 генерира контролирани от атакуващия метаданни за размера на файла, което потенциално води до препълване на хийпа или стека и изпълнение на код.
  • CVE-2026-6687 (CVSS 7.6, High) — Неограничено поле за дължина на етикета на exFAT във f_getlabel() позволява запис на твърде големи данни в предоставените от извикващата функция стекови буфери, създавайки чист примитив за повреждане на паметта.
  • CVE-2026-6688 (CVSS 7.6, High) — Когато са активирани дълги имена на файлове (LFN), прекомерно големи стойности на fno.fname препълват буферите с фиксиран размер в следващите извикващи функции, използващи strcpy или sprintf. Пълното отстраняване изисква промени на ниво обвивка (wrapper).
  • CVE-2026-6685 (CVSS 6.1, Medium) — Неправилно преобразуване при изваждане на несигнални числа в управлението на мръсния кеш (dirty cache) при фрагментирани томове води до остаряване на кеша и ефекти на достъп до памет извън границите, рискувайки незабелязано повреждане на данни.
  • CVE-2026-6683 (CVSS 4.6, Medium) — Деление на нула в пътищата за синхронизация/запис на exFAT, което може да бъде предизвикано чрез специално подготвен носител, води до надеждно сриване на системата — особено критично за процесите на OTA актуализация.
  • CVE-2026-6686 (CVSS 4.6, Medium) — Търсенето отвъд края на файла (EOF) разкрива неинициализирани данни от клъстери, изтичайки остаряло съдържание от изтрити преди това файлове.
  • CVE-2026-6684 (CVSS 4.6, Medium) — Версиите преди R0.16 нямат валидация на броя на GPT записите, позволявайки безкрайни цикли на сканиране на дялове и отказ на услуга (DoS) по време на монтиране.

Тези уязвимости могат да бъдат задействани чрез модифицирани FAT, exFAT или GPT изображения през сменяеми носители или автоматично монтирани канали за актуализация. Тъй като вградените устройства често нямат ASLR и паметна защита, физическият достъп може да доведе до пълен компромат на хардуера, включително камери за сигурност, банкомати и устройства с публично достъпни USB или SD интерфейси.