Недавно обнародована информация об уязвимости (CVE-2018-16858) который затронутые офисные пакеты LibreOffice и Apache OpenOffice в котором используется, что eОни позволяют выполнять код в системе при открытии документа, специально оформленного в формате ODT.
ОткрытиеЭто было выполнено в Windows, хотя эта эксплуатация также влияет на Linux., человек, сообщивший об этой уязвимости, заметил, что эти комплекты совместимы со сценариями, а также совместимы с Basic, BeanShell, Java, JavaScript и Python.
На чем основана эта уязвимость?
Важно отметить, что несмотря на то, что это проблема, которая была обнаружена с прошлого года, решение было реализовано всего за две недели.
По процедурным причинам лицу, обнаружившему это (Вы можете проверить его публикацию здесь) ему было поручено сделать отчет до недавнего времени.
Проблема связана с отсутствием необходимых проверок в коде обработки макросов, встроенном в документ, которые могут быть вызваны различными событиями, такими как указатель мыши на элемент.
При использовании символов "../" в пути к контроллеру, злоумышленник может выйти за пределы базовых каталогов с помощью скриптов (/ share / Scripts / python и / user / Scripts / python) и выполнить произвольную функцию из существующего скрипта Python при возникновении события.
Злоумышленник пользуется этим и для выполнения вашего кода он использует функцию скрипта pydoc.py присутствует в большинстве дистрибутивов (также входит в пакет LibreOffice для Windows - python-core-3.5.5 \ lib \ pydoc.py).
Это определяет функцию tempfilepager()
который заботится о запуске любого исполняемого файла с произвольными аргументами, вызывая функцию os.system()
.
Например, чтобы запустить калькулятор при прокрутке ссылки на определенную область в документе, просто подключите скрипт vnd.sun.star.script:../../lib/python3.5/pydoc.py$
к обработчику события "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 проблемаa остатки Не исправлено.
Уже есть решение
В качестве решения для блокировки уязвимостей в OpenOffice, рекомендуется удалить файл pythonscript.py каталога приложения, который можно найти по следующему пути "/opt/openoffice4/program/pythonscript.py
».
В дополнение к этому проблема еще не решена в Debian Jessie, Ubuntu 16.04, SUSE и openSUSE.
С другой стороны, RHEL, CentOS, а также Ubuntu 18.04 и Ubuntu 18.10 не подвержены этой проблеме.
В 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.
Также важно видеть, что они все еще находят способ найти уязвимости с помощью различных способов использования ImageMagick.