Уязвимость в библиотеке Libgsf, затрагивающая GNOME

В библиотеке libgsf, развиваемой проектом GNOME, выявлена уязвимость (CVE-2024-42415), которая может привести к выполнению кода при обработке специально оформленного файла. Уязвимость вызвана целочисленным переполнением, приводящим к записи данных за пределы выделенного буфера при обработке таблицы распределения секторов в процессе разбора параметров из заголовка файлов в формате CDF (Compound Document Format).

Библиотека libgsf предоставляет функции для разбора различных структурированных форматов файлов, среди которых архивы и форматы документов. Помимо приложений, таких как AbiWord, Gnumeric, GNOME Commander и Nemo, библиотека применяется проектом GNOME в поисковом движке tracker-miners и используется как зависимость в пакете tracker-extract, автоматически собирающем метаданные о новых файлах.

Опасность состоит в том, что использующий libgsf сервис GNOME автоматически индексирует и разбирает все файлы в домашнем каталоге без каких-либо действий со стороны пользователя. Таким образом, для атаки необходимо добиться появления в каталоге пользователя специально созданного файла (например, для попадания файла каталог ~/Downloads в некоторых случаях достаточно нажатия на ссылку в браузере) и уязвимость будет эксплуатирована во время его автоматической индексации.

Уязвимость устранена в обновлении библиотеки libgsf 1.14.53. Проследить за появлением обновлений в дистрибутивах можно на следующих страницах: Debian, Ubuntu, RHEL, SUSE/openSUSE, Fedora, Arch, FreeBSD. В большинстве дистрибутивов с GNOME компонент tracker-miners активируется по умолчанию и загружается как жёсткая зависимость к файловому менеджеру Nautilus (GNOME Files). Для отключения tracker-miners для текущего пользователя можно использовать команды:

Release. Ссылка here.