Новости · Безопасность файлов

В FatFs нашли семь уязвимостей: поддельная флешка или SD-карта способна сломать устройство

Исследователи из runZero раскрыли семь уязвимостей в FatFs — компактной библиотеке, которая читает и пишет файловые системы FAT и exFAT на USB-накопителях и картах памяти. Код FatFs встроен в прошивки миллионов устройств: камер, дронов, промышленных контроллеров и даже аппаратных крипто-кошельков. Специально сформированная флешка или SD-карта может вывести такое устройство из строя, а в худшем случае — привести к выполнению чужого кода.

12 июля 2026 Редакция LoadFile Чтение 6 мин
USB-флешка и microSD-карта на плате и треснувший голографический щит — уязвимости FatFs

Коротко: в начале июля 2026 компания runZero опубликовала семь уязвимостей в FatFs — библиотеке чтения FAT и exFAT с USB и SD-карт. Главная брешь CVE-2026-6682 (CVSS 7.6) — целочисленное переполнение при монтировании тома FAT32, способное привести к повреждению памяти и выполнению кода. Уязвимости срабатывают, когда устройство просто читает подсунутую флешку или карту. На момент раскрытия исправлена лишь одна из семи — в версии FatFs R0.16.

Что произошло

В первых числах июля 2026 года исследователи компании runZero раскрыли семь уязвимостей в библиотеке FatFs. FatFs — это крошечная переносимая библиотека на языке C, которая позволяет устройству читать и записывать файловые системы FAT и exFAT — те самые, что используются на USB-флешках, SD- и microSD-картах. Именно её встраивают в прошивки, когда нужно, чтобы устройство «понимало» вставленный съёмный носитель, но полноценной операционной системы под рукой нет.

Масштаб — главная причина, почему история важна. По данным runZero, FatFs встречается практически везде: она входит в прошивки камер видеонаблюдения, дронов, промышленных контроллеров, аппаратных криптокошельков и множества других устройств на встраиваемых и реального времени (RTOS) операционных системах. Всё это — техника, которая читает файлы с флешки или карты, не имея за спиной защитных механизмов «большой» ОС.

В чём суть уязвимостей

Общий сценарий одинаков: злоумышленник готовит носитель со специально искажённой структурой файловой системы и передаёт его жертве — физически или через устройство, куда носитель вставляется. Как только прошивка пытается смонтировать том или прочитать с него данные, разбор «битой» структуры приводит к сбою. Тяжесть последствий зависит от конкретной ошибки — от зависания до повреждения памяти и потенциального выполнения кода.

ИдентификаторСуть
CVE-2026-6682 (7.6, High)Целочисленное переполнение при монтировании тома FAT32: неверная арифметика даёт ложный размер файла, который дальше используется как длина чтения. На реальном железе — путь к повреждению памяти и выполнению кода.
CVE-2026-6687 (7.6, High)Поле метки тома exFAT переполняет небольшой буфер, давая атакующему точку для повреждения памяти.
CVE-2026-6688 (7.6, High)Длинные имена файлов переполняют обёртку, которую многие проекты пишут вокруг FatFs (например, копирование fname в буфер фиксированного размера через strcpy).
CVE-2026-6685 (6.1, Medium)Переполнение в обработке кэша на фрагментированных томах — способно тихо повредить данные.
CVE-2026-6686 (4.6, Medium)Файл, «растянутый» за свой конец, может выдать остатки ранее удалённых файлов — утечка данных.
CVE-2026-6683 (4.6, Medium)Деление на ноль в разборе exFAT — аварийное завершение (отказ в обслуживании).
CVE-2026-6684 (4.6, Medium)Некорректная таблица разделов GPT подвешивает устройство при монтировании. Единственная из семи, что уже исправлена.

Обратите внимание на закономерность: под удар попали самые «структурные» части формата — монтирование тома, метка exFAT, таблица разделов, длинные имена. Это код, который вынужден доверять числам, записанным в самом носителе, а поддельный носитель эти числа контролирует полностью.

!
Почему это касается не только разработчиков

FAT и exFAT — «общий язык» съёмных носителей: именно в них форматируют флешки и карты, чтобы их читали и телефон, и камера, и автомагнитола. Если устройство ломается от одной вставленной карты, атака не требует ни интернета, ни пароля — достаточно физического доступа к слоту.

Баги нашёл ИИ — а чинить некому

Отдельно примечателен способ, которым уязвимости обнаружили. По описанию runZero, исследователи направили на код FatFs связку из обычных инструментов: редактор Visual Studio Code и GitHub Copilot в автоматическом режиме, которому дали несколько простых текстовых заданий. Языковая модель сама собрала фаззер — программу, которая подаёт на вход коду поток намеренно искажённых данных, пока что-нибудь не сломается. Так и всплыли семь ошибок.

Проблема — в дистрибуции исправлений. На момент раскрытия из семи уязвимостей закрыта только одна, CVE-2026-6684, в версии FatFs R0.16. Библиотеку поддерживает, по сути, один разработчик, и runZero сообщила, что неоднократно пыталась связаться с ним, а также привлекла японский координационный центр JPCERT/CC — но ответа не получила. Даже когда выйдет патч, до конкретной камеры или контроллера он доберётся только с обновлением прошивки от её производителя, а такие обновления выходят редко и не для всех устройств.

Что делать

Обычному пользователю патчить FatFs напрямую не нужно — эта библиотека спрятана внутри устройств. Но снизить риск можно организационно:

  1. Не вставляйте в технику чужие и найденные флешки и карты памяти. Носитель с «битой» файловой системой не обязан выглядеть подозрительно.
  2. Следите за обновлениями прошивок камер, роутеров, NAS и промышленных устройств — исправления FatFs придут именно через них.
  3. Если вы разработчик встраиваемых систем — проверьте, какую версию FatFs используете, обновитесь минимум до R0.16 и пересмотрите собственные обёртки вокруг библиотеки (те самые копирования имён файлов в буферы фиксированного размера).
  4. Относитесь к съёмным носителям как к недоверенному вводу. Прежде чем открывать содержимое чужой флешки на рабочем компьютере, полезно проверить файлы на вирусы и не запускать ничего вслепую.

Что это значит для работы с файлами

История с FatFs напоминает: опасность несёт не только сам файл, но и файловая система, в которую он упакован. Мы привыкли думать о рисках на уровне вложения — вредоносный документ, заражённый архив. Но флешка или карта памяти — это тоже структура данных, и её разбор может быть точкой атаки задолго до того, как вы увидите хоть один файл. Похожая логика недавно всплывала в других форматах-контейнерах: см. наш разбор образов дисков IMG и файлов ISO, где содержимое тоже приходится «монтировать» и разбирать.

Практический вывод простой и старый: не доверяйте носителям неизвестного происхождения, держите прошивки в актуальном состоянии и относитесь к съёмным дискам как к потенциально враждебному вводу. Базовые правила безопасной работы с файлами и загрузками мы собрали в разделе безопасность файлов.

Источники

Читайте также