Новости и события » Hi-Tech » Критическая уязвимость в обработчике крахов приложений, поставляемом в Ubuntu

Критическая уязвимость в обработчике крахов приложений, поставляемом в Ubuntu

В пакете Apport, применяемом в Ubuntu Linux для автоматизации обработки крахов приложений, выявлена критическая уязвимоcть, позволяющая организовать выполнение кода от имени текущего пользователя, а при проведении локальной атаки повысить привилегии до пользователя root. Проблема проявляется в Desktop-редакция дистрибутива Ubuntu начиная с выпуска 12.10 и исправлена в недавно опубликованном обновлении пакета Apport.

Apport перехватывает сведения о крахе приложения, в том числе автоматически вызывается при возникновении исключительных ситуаций в скриптах на языке Python и отслеживает сбои во время установки пакетов, подготавливает информацию об условиях в момент сбоя. Отчет о крахе сохраняется в текстовых файлах с расширением ".crash", при наличии которых вызывается специальная утилита, выводящая на экран диалог с предложением отправить отчет разработчикам Ubuntu. Ошибка в коде разбора файлов crash позволяет осуществить подстановку кода на языке python.

Для демонстрации уязвимости можно записать в файл c расширением.crash следующий текст, при обработке которого будет выполнен запуск калькулятора:

ProblemType: Bug ExecutablePath: /usr/bin/file-roller Stacktrace: None CrashDB: {'impl': 'memory', 'crash_config': exec(""" import subprocess payload_cmd = "pkill -9 apport; gnome-calculator" subprocess.Popen(payload_cmd, shell=True) """, {}) }

Для генерации произвольных эксплоитов подготовлен специальный инструментарий. Для эксплуатации уязвимости необходимо добиться открытия данного файла в обработчике Apport, что можно сделать несколькими путями. Например, так как apport-gtk зарегистрирован для обработки MIME-типа "text/x-apport, достаточно открыть файл с расширением.crash в файловом менеджере. Кроме того, обработчик вызывается для всех файлов не имеющих MIME-привязки к расширению, начинающихся со стороки "ProblemType: ", т. е. можно записать эксплоит в файл с любым неизвестным системе расширением, например zip, и разместить его на сайте. Применив методы социальной инженерии, можно добиться загрузки этого файла пользователем. Как только файл будет сохранен и пользователь попытается кликнуть на нем файловом менеджере для просмотра содержимого - будет активирован обработчик Apport, что приведет к эксплуатации уязвимости.

Второй вариант атаки позволяет добиться локальным пользователем выполнения кода с правами root. Если сохранить файл с расширением.crash в директории /var/crash (доступна на запись всем пользователям), он будет автоматически обработан. При этом если файл сохранен под идентификатором пользователя меньше 500, то обработка будет выполнена с правами root. В качестве одного из методов записи файла с uid меньше 500 предлагается использовать доступную в mysql возможность сохранения таблицы в произвольной директории ("SELECT INTO... OUTFILE") или организовать запись чрез web-скрипт, выполняемый от пользователя www-data.

При входе пользователя в систему, для подобных crash-файлов вызывается процесс apport-crashreports, который запрашивает через PolicyKit выполнение действий с правами root. Выводимый диалог лишь уведомляет от возникновении проблемы в системном приложении и предлагает отправить разработчикам отчет, не детализируя о каком приложении идет речь и не предупреждая о выполнении операции с повышенными привилегиями. Если пользователь согласится с предложением, то эксплоит будет выполнен в системе с правами root.


Магія східної кухні: особливості та традиції

Магія східної кухні: особливості та традиції

Східна кухня відома різноманіттям ароматів та смаків. Вона заснована на глибоких традиціях, історії та має особливості приготування. Звички формувалися впродовж багатьох століть під впливом різних культур та географічних особливостей. Вони присутні в кожній...

вчера 15:32

Свежие новости Украины на сегодня и последние события в мире экономики и политики, культуры и спорта, технологий, здоровья, происшествий, авто и мото

Вверх