Состоялся релиз свободного пакета NTFS-3G версии 2026.7.7, включающего драйвер файловой системы NTFS для Linux и UNIX-подобных систем, работающий на основе механизма FUSE. В новом выпуске разработчики закрыли девять уязвимостей, большинство из которых позволяют злоумышленнику выполнить произвольный код с максимальными привилегиями. Проблемы были обнаружены и описаны специалистами Nozomi Networks Labs в рамках исследования безопасности драйвера.
Детали уязвимостей
Все критические уязвимости (CVE-2026-46569, CVE-2026-42617, CVE-2026-42618, CVE-2026-46570, CVE-2026-46572, CVE-2026-56135, CVE-2026-42616) представляют собой переполнения буфера в различных функциях обработки метаданных NTFS. Злоумышленник, имеющий возможность смонтировать специально сформированный образ раздела NTFS (например, через подключение вредоносного USB-накопителя), может добиться записи за пределы выделенной области памяти. Это, в свою очередь, ведёт к повреждению данных и, при определённых условиях, к выполнению вредоносного кода с привилегиями суперпользователя.
Наиболее опасными выглядят уязвимости в функциях библиотеки libntfs-3g. К примеру, CVE-2026-46569, CVE-2026-42617 и CVE-2026-46572 связаны с отсутствием проверок допустимых диапазонов при копировании данных в функциях ntfs_ib_copy_tail(), ntfs_ir_to_ib() и ntfs_ib_cut_tail(). Эксплуатация происходит при создании файла в каталоге, размещённом на модифицированном образе. CVE-2026-42618 затрагивает функцию декомпрессии ntfs_decompress() - чтение специально подготовленного сжатого файла также приводит к переполнению. Ещё одна уязвимость CVE-2026-46570 срабатывает при обращении к метаданным файлов в результате работы функции ntfs_index_walk_down(). CVE-2026-56135 локализована в функции build_inherited_id(), и, хотя по умолчанию опция монтирования "inherit" не активна, при её использовании создание файла в каталоге с вредоносными ACL-метаданными (списками контроля доступа) также вызывает повреждение кучи. Отдельного упоминания заслуживает уязвимость CVE-2026-42616, найденная в утилите ntfscat - переполнение буфера там происходит при чтении повреждённого образа, и для атаки требуется активное взаимодействие пользователя.
Помимо переполнений, в патче закрыты две уязвимости, связанные с чтением за границами выделенного буфера. CVE-2026-46571 затрагивает функцию обработки символических ссылок ntfs_fix_file_name(); несанкционированное чтение памяти может раскрыть конфиденциальную информацию из адресного пространства привилегированного процесса драйвера. Вторая уязвимость этого класса - CVE-2026-56136 - присутствует в функции ntfs_ir_nill() и активируется при создании файла с определённым именем.
Уязвимости охватывают множество функций, связанных с индексацией и работой с атрибутами файлов. Это указывает на фундаментальные проблемы с проверкой входных данных в драйвере, который выполняется с высокими привилегиями.
Драйвер NTFS-3G широко используется в дистрибутивах Linux, а также в macOS и во встраиваемых системах, где требуется поддержка чтения и записи разделов NTFS. Поскольку при монтировании раздела драйвер работает с правами root, а атака может быть инициирована подключением обычного USB-накопителя, патч является критически важным для систем, допускающих доступ к физическим носителям от непроверенных источников. Временные меры защиты для большинства уязвимостей отсутствуют - за исключением CVE-2026-42616 (рекомендуется не запускать утилиту ntfscat от имени суперпользователя) и CVE-2026-46571 (не использовать опцию монтирования ignore_case). В остальных случаях единственным способом устранения риска является обновление пакета до версии 2026.7.7.
Хотя эксплуатация всех перечисленных уязвимостей требует локального доступа к системе и высокой сложности атаки, сочетание высокого уровня привилегий и отсутствия обязательного взаимодействия с пользователем делает их серьёзной угрозой. Выход исправлений в очередной раз напоминает о необходимости осторожного обращения с доверенностью файловых систем, особенно когда речь идёт о драйверах, выполняющихся с правами суперпользователя.
Ссылки
- https://github.com/tuxera/ntfs-3g/security/advisories/GHSA-r66g-c39x-cw95
- https://github.com/tuxera/ntfs-3g/security/advisories/GHSA-52gr-j4pv-9pjh
- https://github.com/tuxera/ntfs-3g/security/advisories/GHSA-p6mp-gp2j-7358
- https://github.com/tuxera/ntfs-3g/security/advisories/GHSA-c9qg-fh4v-mq8r
- https://github.com/tuxera/ntfs-3g/security/advisories/GHSA-wx5r-gc7w-9hhc
- https://github.com/tuxera/ntfs-3g/security/advisories/GHSA-m6qq-pv5j-2wxc
- https://github.com/tuxera/ntfs-3g/security/advisories/GHSA-6whp-3f63-97qw
- https://github.com/tuxera/ntfs-3g/security/advisories/GHSA-jv65-qqf7-f692
- https://github.com/tuxera/ntfs-3g/security/advisories/GHSA-xxv8-9r24-hcj9