Уязвимость вызвана тем, что компонент LibreLogo, предназначенный для обучения программированию и вставки векторных рисунков, транслирует свои операции в код на языке Python. Имея возможность выполнить инструкции LibreLogo злоумышленник может добиться выполнения любого кода на языке Python в контексте текущего сеанса пользователя, воспользовавшись предоставляемой в LibreLogo командой «run». Из Python при помощи функции system(), в свою очередь, можно вызвать произвольные системные команды.
LibreLogo является опциональным компонентом, но в LibreOffice по умолчанию предлагаются макросы, дающие возможность вызвать LibreLogo и не требующие при своём выполнении подтверждения выполнения операции и не отображающие предупреждение, даже при включении режима максимальной защиты макросов (выбор уровня «Very Hight»). Для атаки можно привязать такой макрос к обработчику события, срабатывающему, например, при наведении курсора мыши к определённой области или при активации фокуса ввода на документе (событие onFocus). В итоге, при открытии подготовленного атакующим документа можно добиться скрытого выполнения Python-кода, незаметно от пользователя. Например, в продемонстрированном примере эксплоита при открытии документа без предупреждения запускается системный калькулятор.
Уязвимость без лишней огласки была устранена в обновлении LibreOffice 6.2.5, выпущенном 1 июля, но как оказалось проблема была устранена не полностью (блокирован лишь вызов LibreLogo из макросов) и остаются неисправленными некоторые другие векторы для проведения атаки. Кроме того, проблема не решена в выпуске 6.1.6, рекомендованном для корпоративных пользователей. Полностью устранить уязвимость планируется в выпуске LibreOffice 6.3, ожидаемом на следующей неделе. До выпуска полноценного обновления пользователям рекомендуется явно отключить компонент LibreLogo, который по умолчанию доступен во многих поставках.
Источник: http://www.opennet.ru/opennews/art.shtml?num=51214