The OpenNET Project / Index page

[ новости /+++ | форум | wiki | теги | ]

05.02.2019 14:12  Уязвимость в Libreoffice и Openoffice, позволяющая выполнить код при открытии документа

Раскрыты сведения об уязвимости (CVE-2018-16858) в офисных пакетах LibreOffice и Apache OpenOffice, позволяющей выполнить код в системе при открытии специально оформленного документа в формате ОDT.

Проблема вызвана отсутствием необходимых проверок в коде обработки встроенных в документ макросов, которые могут вызываться при наступлении различных событий, таких как наведение мыши на элемент. Используя символы "../" в пути к обработчику злоумышленник может выйти за пределы базовых каталогов со скриптами (share/Scripts/python и user/Scripts/python) и запустить при наступлении события произвольную функцию из любого существующего Python-скрипта.

Для выполнения своего кода использована особенность присутствующего в большинстве дистрибутивов скрипта pydoc.py (также входит в поставку LibreOffice для Windows - python-core-3.5.5\lib\pydoc.py), в котором определена функция tempfilepager(), запускающая любой исполняемый файл с произвольными аргументами через вызов функции os.system(). Например, для выполнения калькулятора при наведении ссылки на определённую область в документе достаточно подключить к обработчику события "dom:mouseover" скрипт вида "vnd.sun.star.script:../../lib/python3.5/pydoc.py$tempfilepager(1, gnome-calculator )?language=Python&location=share".

Уязвимость без лишней огласки в прошлом году была устранена в выпусках LibreOffice 6.0.7 и 6.1.3. В актуальном выпуске Apache OpenOffice 4.1.6 проблема остаётся неисправленной. В качестве обходного пути блокирования уязвимости в OpenOffice рекомендуется удалить файл pythonscript.py из каталога приложения (например, /opt/openoffice4/program/pythonscript.py). Проблема также ещё не устранена в Debian Jessie, Ubuntu 16.04 и SUSE/openSUSE. RHEL/CentOS, а также Ubuntu 18.04+ проблеме не подвержены. Обновление пакетов выпущено для Fedora 28.

В OpenOffice и в LibreOffice до версии 6.0 включительно эксплуатация уязвимости ограничена запуском существующих локальных Python-скриптов из-за отсутствия поддержки передачи аргументов в функции, вызываемые из макросов. Для атаки на OpenOffice и на старые версии LibreOffice злоумышленник должен добиться размещения своего Python скрипта, например, распространяя его в ZIP-архиве вместе с ODT-документом. При атаке на LibreOffice 6.1.x можно использовать системный скрипт pydoc.py для выполнения произвольных файлов с любыми параметрами.

Дополнительно упоминается возможный вектор атаки через пакет ImageMagick, который использует LibreOffice для преобразования некоторых типов файлов. Атака через обработчики изображений на базе ImageMagick опасна тем, что документ с эксплоитом можно передать под видом JPEG или PNG-файла, в котором вместо картинки находится файл ODT (такой файл будет обработан так как MIME-тип распознаётся по содержимому, а не полагаясь на расширение). Теоретически проблема может затронуть и автоматические построители миниатюр для рабочего стола и индексаторы файлов, если они используют LibreOffice для разбора документов. В этом случае для атаки может быть достаточно просто загрузить документ с эксплоитом или просмотреть каталог с ним в Nautilus.



  1. Главная ссылка к новости (https://insert-script.blogspot...)
  2. OpenNews: Выпуск офисного пакета Apache OpenOffice 4.1.6
  3. OpenNews: Уязвимость в LibreOffice
  4. OpenNews: Уязвимость в Apache OpenOffice
  5. OpenNews: Три уязвимости в Apache OpenOffice
  6. OpenNews: Выпуск LibreOffice 6.0.1 с устранением уязвимости
Лицензия: CC-BY
Тип: Проблемы безопасности
Ключевые слова: libreoffice, openoffice
При перепечатке указание ссылки на opennet.ru обязательно
Обсуждение Ajax/Линейный | Раскрыть все сообщения | RSS
 
  • 1.1, Fracta1L (ok), 14:47, 05/02/2019 [ответить] [показать ветку] [···]    [к модератору]
  • –2 +/
    > Проблема также ещё не устранена в Debian Jessie, Ubuntu 16.04 и SUSE/openSUSE

    Да зачем им новые версии, за циферками только гнаться

     
     
  • 2.11, Ilya Indigo (ok), 16:10, 05/02/2019 [^] [ответить]    [к модератору]
  • –5 +/
    В openSUSE Libreoffice 6.2.0.3, проблемы в 6.2 не могло быть изначально.
    Не понимаю, зачем автор изначальной статьи упомянул об openSUSE поставив её в один ряд с deb-подобными.
     
  • 2.25, Аноним (25), 19:40, 05/02/2019 [^] [ответить]    [к модератору]
  • –2 +/
    что мешает слить и поставить оф дебы с сайта либры ?
     
     
  • 3.35, Тот_Самый_Анонимус (?), 23:04, 05/02/2019 [^] [ответить]    [к модератору]
  • –8 +/
    Нежелание использовать либру? ОО рулит.
     
  • 1.2, Аноним (2), 15:06, 05/02/2019 [ответить] [показать ветку] [···]    [к модератору]
  • +4 +/
    зачем вообще в документах макросы? Чтоб нескучно было? Документы - чтобы документировать, а не программировать. "Программирую в либреоффисе", бл976.
     
     
  • 2.5, Qwerty (??), 15:35, 05/02/2019 [^] [ответить]    [к модератору]  
  • +8 +/
    >зачем вообще в документах макросы? Чтоб нескучно было?

    Молодой человек предлагает плодить exe-шники на каждый бехгалтерский чих?

     
     
  • 3.6, идиот (?), 15:43, 05/02/2019 [^] [ответить]    [к модератору]  
  • –3 +/
    А неплохая идея так то.

    Шаблонизатор (2 шт.: для документа и для вебморды) + golang = готовый документ на выходе.

     
     
  • 4.13, Qwerty (??), 16:13, 05/02/2019 [^] [ответить]    [к модератору]  
  • +7 +/
    > А неплохая идея так то.
    > Шаблонизатор (2 шт.: для документа и для вебморды) + golang = готовый
    > документ на выходе.

    Поздравляю, ты только что изобрёл макросы.

     
     
  • 5.17, Annoynymous (ok), 16:50, 05/02/2019 [^] [ответить]    [к модератору]  
  • +/
    А почему бы не сделать макрос в отдельном файле? Да ещё потребовать бит исполняемый для файла с макросами?

    Ну так, к примеру.

     
     
  • 6.20, Qwerty (??), 17:25, 05/02/2019 [^] [ответить]     [к модератору]  
  • +/
    А по Аське или МайлРуАгенту как передавать По отдельности На vk, опять же, мак... весь текст скрыт [показать]
     
     
  • 7.31, Annoynymous (ok), 21:13, 05/02/2019 [^] [ответить]     [к модератору]  
  • –2 +/
    Если тебе надо передавать с макросами, то по отдельности, если без макросов, то ... весь текст скрыт [показать]
     
     
  • 8.34, Аноним Анонимович Анонимов (?), 22:13, 05/02/2019 [^] [ответить]     [к модератору]  
  • +3 +/
    О мой юный неофит, в твоих словах безусловно имеется толика смысла, но макросы т... весь текст скрыт [показать]
     
  • 5.77, идиот (?), 09:14, 08/02/2019 [^] [ответить]    [к модератору]  
  • +/
    ты-кать будешь своим знакомым, умник
     
     
  • 6.78, Qwerty (??), 11:40, 08/02/2019 [^] [ответить]    [к модератору]  
  • +/
    > ты-кать будешь своим знакомым, умник

    Ты чё, Вась? Не похмельнулся с утреца?

     
  • 3.8, konst555 (?), 16:03, 05/02/2019 [^] [ответить]    [к модератору]  
  • –5 +/
    >бехгалтерский чих

    бехгалтера нужны исключительно для выдачи з/п.
    тот кто их использует как-то иначе - параноик. imho, конечно. И шутка, если кто не поянл.

     
  • 2.10, kuksha12 (ok), 16:07, 05/02/2019 [^] [ответить]     [к модератору]  
  • +2 +/
    Я когда-то сделал полуавтоматическое восстановление буквы ё в открытом докумен... весь текст скрыт [показать]
     
     
  • 3.19, Аноним (2), 17:00, 05/02/2019 [^] [ответить]    [к модератору]  
  • –16 +/
    Нужность буквы "ё" под большим сомнением с самого момента выдумывания этой нескучной буквы. ("Щоб було как у французов, алфавит с диакритическими знаками!11")
     
     
  • 4.47, Читающий (?), 09:02, 06/02/2019 [^] [ответить]    [к модератору]  
  • +2 +/
    Эта буква неотъемлемая часть современного русского языка и её нужность не вызывает никаких сомнений. Ты ещё усомнись в реформе 1918 и требуй вернуть ять и твёрдый знак на конце слова.
    Ять, млять
     
     
  • 5.61, Аноним (61), 11:32, 06/02/2019 [^] [ответить]     [к модератору]  
  • –1 +/
    Неотъемлимость спорна Если поставить целью убрать из русского редко используемы... весь текст скрыт [показать]
     
     
  • 6.72, Ёщ борсч (?), 19:43, 06/02/2019 [^] [ответить]     [к модератору]  
  • +1 +/
    Оставь ё в покое для учебных материалов Это человекам уже знающим словам и без ... весь текст скрыт [показать]
     
     
  • 7.74, Pilat (ok), 02:30, 07/02/2019 [^] [ответить]    [к модератору]  
  • +/
    То есть вместо Орёл надо писать  Орел? С чего бы это? При чём тут изучение/обучение?
     
  • 4.49, kuksha12 (ok), 09:37, 06/02/2019 [^] [ответить]     [к модератору]  
  • +1 +/
    Моим приложением до сих пор народ пользуется, в частности профессиональные корре... весь текст скрыт [показать]
     
  • 4.51, kuksha12 (ok), 09:45, 06/02/2019 [^] [ответить]    [к модератору]  
  • +1 +/
    Насчёт диакритических знаков - советую посмотреть на древнерусские летописи.
    Тебя ждёт много удивительных открытий.
     
  • 4.76, volax (?), 09:44, 07/02/2019 [^] [ответить]    [к модератору]  
  • +/
    Ичо, будем писать йожик и йолка?
    Пошто символы переводить?
     
  • 3.58, Ordu (ok), 11:01, 06/02/2019 [^] [ответить]     [к модератору]  
  • +/
    Но это ведь не требует скрипта в документе, этот скрипт вероятно удобнее постави... весь текст скрыт [показать]
     
     
  • 4.73, kuksha12 (ok), 22:29, 06/02/2019 [^] [ответить]     [к модератору]  
  • +/
    Нет В MS Word макросы вроде моего просто встраиваются в шаблон запуска Normal d... весь текст скрыт [показать]
     
  • 1.4, 111 (??), 15:23, 05/02/2019 [ответить] [показать ветку] [···]    [к модератору]  
  • +/
    ч0рт ! жду ООО 4.1.7 :(
     
     
  • 2.33, Ю.Т. (?), 21:46, 05/02/2019 [^] [ответить]    [к модератору]  
  • +/
    Есть 4.5, правда в development builds :)))
     
  • 1.7, YetAnotherOnanym (ok), 16:01, 05/02/2019 [ответить] [показать ветку] [···]    [к модератору]  
  • +2 +/
    "особенность присутствующего в большинстве дистрибутивов скрипта pydoc.py (также входит в поставку LibreOffice для Windows - python-core-3.5.5\lib\pydoc.py), в котором определена функция tempfilepager(), запускающая любой исполняемый файл с произвольными аргументами через вызов функции os.system()"
    Ай, молодцы!
     
     
  • 2.12, аноним3 (?), 16:13, 05/02/2019 [^] [ответить]    [к модератору]  
  • +/
    это они себе кувалду на ногу уронили)) такие вещи обычно хотя бы ограничивают возможными аргументами. но видно было лень допиливать.
     
  • 1.9, Аноним (9), 16:04, 05/02/2019 [ответить] [показать ветку] [···]    [к модератору]  
  • –3 +/
    А что кто-то может прислать файлик в формате ODT? Я думал это что-то вроде локального низкоуровневого файлового кэша)). Описан какой-то не реальный кейс (по крайне мере в кириллицаписной стране).
     
     
  • 2.16, Аноним (16), 16:48, 05/02/2019 [^] [ответить]    [к модератору]  
  • +2 +/
    Я могу прислать.
     
  • 2.40, Аноним (40), 04:31, 06/02/2019 [^] [ответить]    [к модератору]  
  • +/
    Вот именно. Стандарт де-факто в рф - мсофис и докх. Всякие одт и либры - даже не проценты, а промилле, на уровне погрешности.

    Так что кейс нереальный еще с пункта "прислать одт файл", лол!

     
     
  • 3.52, Онанимус (?), 10:12, 06/02/2019 [^] [ответить]    [к модератору]  
  • +/
    Дурашка... Когда тебе его пришлют, тогда ты нам и расскажешь, что этого не могло быть.
     
     
  • 4.66, А (??), 13:23, 06/02/2019 [^] [ответить]    [к модератору]  
  • +/
    > Когда тебе его пришлют

    Под видом JPEG или PNG файла...

     
     
  • 5.70, Аноним (40), 15:29, 06/02/2019 [^] [ответить]    [к модератору]  
  • +1 +/
    Но у меня нет LO/OOO, а только MSO, который безбажный. Твой хитрый план провалился!
     
  • 2.75, pripolz (?), 04:19, 07/02/2019 [^] [ответить]    [к модератору]  
  • +/
    > в кириллицаписной стране

    https://wiki.openoffice.org/wiki/RU/document_formats/odf

     
  • 1.15, Аноним (15), 16:27, 05/02/2019 [ответить] [показать ветку] [···]    [к модератору]  
  • –2 +/
    В шестой версии вордпроцессора либры глючит xneur -- содержимое перекодируемого текста  портится.  
     
  • 1.23, Аноним (23), 18:17, 05/02/2019 [ответить] [показать ветку] [···]    [к модератору]  
  • +1 +/
    В Ворде аналогичный функционал считают фичей, а не уязвимостью, и исправлять не собираются.
     
     
  • 2.41, iPony (?), 05:46, 06/02/2019 [^] [ответить]    [к модератору]  
  • +1 +/
    Можно пруф на аналогичную фишку в ворде?
    Чтобы без спроса при открытии документа запустилось.
     
     
  • 3.64, Аноним (64), 12:45, 06/02/2019 [^] [ответить]    [к модератору]  
  • +/
    https://xakep.ru/2017/10/13/microsoft-office-dde/
     
  • 3.79, пох (?), 20:07, 09/02/2019 [^] [ответить]    [к модератору]  
  • +/
    > Можно пруф на аналогичную фишку в ворде?
    > Чтобы без спроса при открытии документа запустилось.

    ты смеешься, что-ли? Мы пихали DisableAutoRun() (вроде, так? ) в normal.dot еще в 1993м году. Каких тебе нахрен пруфов, интернет тогда был только у белых людей, а гугли твоей вообще не было.


     
  • 1.27, Аноним (27), 20:11, 05/02/2019 [ответить] [показать ветку] [···]    [к модератору]  
  • +/
    А что макросы выпоняются по умолчанию без запроса пользователя? Вроде в мсофисе даже не так.
     
     
  • 2.29, тот_же_анон_только_с_мабилы (?), 20:33, 05/02/2019 [^] [ответить]    [к модератору]  
  • –1 +/
    По умолчанию макросы отключены
     
  • 2.30, Аноним (23), 20:52, 05/02/2019 [^] [ответить]     [к модератору]  
  • +/
    В офисе документ можно поместить в стартовую папку для этого не нужны права адм... весь текст скрыт [показать]
     
  • 2.32, Ю.Т. (?), 21:45, 05/02/2019 [^] [ответить]     [к модератору]  
  • +1 +/
    Макросы всегда там были, ещё в СтарОфе И три уровня безопасности, один из них -... весь текст скрыт [показать]
     
     
  • 3.42, iPony (?), 07:33, 06/02/2019 [^] [ответить]     [к модератору]  
  • +/
    Речь о запуске исполняемого кода без спроса По ссылке всё написано И даже если... весь текст скрыт [показать]
     
     
  • 4.43, Ю.Т. (?), 07:48, 06/02/2019 [^] [ответить]     [к модератору]  
  • +/
    Нет, речь о запуске чего угодно в системе из макроса По ссылке всё написано, на... весь текст скрыт [показать]
     
     
  • 5.44, iPony (?), 08:04, 06/02/2019 [^] [ответить]    [к модератору]  
  • +/
    И? Какая разница из чего запускается, если это без спроса делается при открытии документа.
     
  • 5.45, iPony (?), 08:08, 06/02/2019 [^] [ответить]     [к модератору]  
  • +/
    Вот заголовок Два слова Macro Event Там POC на файл со скриптом при dom mouseov... весь текст скрыт [показать]
     
  • 3.46, iPony (?), 08:14, 06/02/2019 [^] [ответить]     [к модератору]  
  • +/
    Тем более что в конце POC именно для 6 1 x Не понятно из-за чего шум Серьёзно ... весь текст скрыт [показать]
     
     
  • 4.53, Ю.Т. (?), 10:16, 06/02/2019 [^] [ответить]     [к модератору]  
  • –1 +/
    Серьёзно-пресерьёзно Всегда пользовался в своих макросах питоном именно для и... весь текст скрыт [показать]
     
     
  • 5.54, iPony (?), 10:39, 06/02/2019 [^] [ответить]    [к модератору]  
  • +/
    Не надо ничего самому запускать. Достаточно документ открыть.
    Ты хоть бы прочитал, а... Про попробовать, я уж молчу.
     
     
  • 6.55, Ю.Т. (?), 10:46, 06/02/2019 [^] [ответить]    [к модератору]  
  • +/
    > Не надо ничего самому запускать. Достаточно документ открыть.
    > Ты хоть бы прочитал, а... Про попробовать, я уж молчу.

    Вот ты бы лучше сам поинтересовался техникой макросов в ООО.

     
     
  • 7.56, iPony (?), 10:48, 06/02/2019 [^] [ответить]     [к модератору]  
  • +/
    Я то знаю, а ты нет Речь про уязвимость в неправильной обработке Если при откр... весь текст скрыт [показать]
     
  • 7.57, iPony (?), 10:54, 06/02/2019 [^] [ответить]    [к модератору]  
  • +/
    Даже установка в настройках опции "Безопасность макросов: Очень высокий".
    Не поможет против данной уязвимости.
    Если ты не понимаешь, что в программах могут быть ошибки, то тут уж...
     
     
  • 8.59, Ю.Т. (?), 11:05, 06/02/2019 [^] [ответить]    [к модератору]  
  • +/
    > Даже установка в настройках опции "Безопасность макросов: Очень высокий".
    > Не поможет против данной уязвимости.

    Потому что в данной уязвимости речь о возможности *нештатной* работы, вундер.

     
     
  • 9.60, iPony (?), 11:08, 06/02/2019 [^] [ответить]    [к модератору]  
  • +/
    > *нештатной* работы

    Спасибо, КЭП. Ну и к чему тогда фраза?

    > О чём в исходной новости столько шуму, не пойму.

     
  • 1.36, Аноним (36), 23:40, 05/02/2019 [ответить] [показать ветку] [···]    [к модератору]  
  • +1 +/
    >Проблема вызвана отсутствием необходимых проверок в коде обработки встроенных в документ макросов

    То есть макросы не выключены? По-моему макросы обязаны быть выключенными по-умолчанию.

     
  • 1.37, Аноним (36), 23:42, 05/02/2019 [ответить] [показать ветку] [···]    [к модератору]  
  • +/
    >глючит xneur

    xneur вообще ффтoпку. Нейросеть нуждается в полной переделке архитектуры и перетренировке на нормальном дейтасете.

     
  • 1.48, ыы (?), 09:18, 06/02/2019 [ответить] [показать ветку] [···]    [к модератору]  
  • +/
    >Уязвимость без лишней огласки

    Ну вот и вирусы в

     
  • 1.67, economist (?), 13:36, 06/02/2019 [ответить] [показать ветку] [···]    [к модератору]  
  • +1 +/
    Вот читаю и думаю: как же далеко большая часть айтишников оторвалась от простого народа и его функций, проблем, потребностей. И макросы-то никому не нужны, и гостовский ODT - в природе не встречается. И даже "ё" досталось. Как еще Python не обвинили во всех тяжких? - ума не приложу...

    Макросы работают везде - в рекламных агентствах, конструкторских бюро, в типографиях. Любой серьезный прикладной софт поддерживает макросы. Тот же VBA есть помимо MSO еще и в AutoCAD, CorelDraw...  

    Чтобы разговор поддержать - обычный XLS/XLSM/XLSB-файл с VBA-маскросом с именем AutoOpen, сохраненный как XLA/XLAM - сработает при открытии не то-что "заряженного" документа, а просто при любом открытии приложения Excel. И все галочки из вкладки  "Безопасность MSO" - даже не шевельнутся как-то тормозить выполнение VBA-макроса.

     

     Добавить комментарий
    Имя:
    E-Mail:
    Заголовок:
    Текст:


      Закладки на сайте
      Проследить за страницей
    Created 1996-2019 by Maxim Chirkov  
    ДобавитьПоддержатьВебмастеруГИД  
    Hosting by Ihor