Уязвимость в libcue, приводящая к выполнению кода при загрузке файлов в GNOME

Новости мира unix. Хотите узнать секрет вечного счастья? Откройте страницу 246.
Ответить
acolyte
Аватара пользователя
Сообщения: 3258
Зарегистрирован: 20.08.2022

#

Уязвимость в libcue, приводящая к выполнению кода при загрузке файлов в GNOME
Дата публикации:Mon, 09 Oct 2023 22:04:52 +0300




В библиотеке libcue, используемой для разбора метаданных cо сведениями о порядке и длительности звуковых треков, выявлена уязвимость (CVE-2023-43641), позволяющая организовать выполнение кода при обработке специально оформленных cue-файлов. Библиотека используется в некоторых мультимедийных проигрывателях и звуковых редакторах, включая Audacious, и может быть использована для компрометации системы при открытии в них непроверенных данных.



Более того, библиотека libcue используется в поисковом движке tracker-miners, применяемом в пользовательском окружении GNOME. Так как tracker-miners автоматически индексирует новые мультимедийные файлы в домашнем каталоге, для атаки на системы с GNOME и организации выполнения кода злоумышленника достаточно, чтобы пользователь просто загрузил специально оформленный файл в каталог ~/Downloads, ~/Music или ~/Videos, без необходимости его открытия (например, в некоторых случаях достаточно нажатия на ссылку в браузере).



Выявившие уязвимость исследователи подготовили рабочий эксплоит и продемонстрировали возможность эксплуатации окружений на базе Ubuntu 23.04 и Fedora 38. Код эксплоита будет опубликован позднее, чтобы дать время пользователям установить обновление с устранением уязвимости. Эксплоит стабилен в работе, но требует адаптации для каждого дистрибутива.





Уязвимость вызвана целочисленным переполнением в коде разбора синтаксиса параметра INDEX и проявляется при указании в данном параметре слишком больших числовых значений, не укладывающихся в тип "int". Для преобразования строки в число используется функция atoi, например, при указании числа 4294567296 оно будет преобразовано в -400000. Непосредственно к уязвимости приводит отсутствие проверки полученного значения на то, что оно может быть отрицательным. В итоге, в коде после преобразования atoi выполняется операция "track->index = ind", в котором "i" можно присвоить отрицательное число для перезаписи области памяти вне буфера значением "ind", которое также загружается из обрабатываемого файла.



В большинстве дистрибутивов с GNOME компонент tracker-miners активируется по умолчанию и загружается как жёсткая зависимость к файловому менеджеру Nautilus (GNOME Files). Для отключения tracker-miners для текущего пользователя можно использовать команды:

systemctl --user mask tracker-store.service tracker-miner-fs.service tracker-miner-rss.service tracker-extract.service tracker-miner-apps.service tracker-writeback.service
tracker reset --hard


Новость позаимствована с opennet.ru
Ссылка на оригинал: https://www.opennet.ru/opennews/art.shtml?num=59896

Жизнь за Нер'зула!

Ответить