Спецпроекты

Безопасность Администратору Пользователю Техника

Компонент LibreOffice для обучения программированию умеет захватывать ПК. Исправить проблему пока не выходит

LibreLogo, опциональный, но поставляемый по умолчанию компонент LibreOffice, позволяет интегрировать в документ макрос с кодом на Python, который запустится без проверок. Попытки исправить проблему пока результатов не дали.

Черепашка-ниндзя...

В разных компонентах открытого офисного пакета LibreOffice выявлены ошибки, которые вместе превращаются в уязвимость, допускающую удалённый запуск произвольного кода. Уязвимость получила индекс CVE-2019-9848.

Первая ошибка содержится в функции LibreLogo, которая предназначена для обучения программированию. В частности, эта функция позволяет строить графики на основе программного кода, введённого в текстовом виде в документе; отрисовка этих графиков производится с помощью напоминающего черепаху курсора, - это отсылка к оригинальному языку Logo, разработанному в конце 1960-х годов также для обучения программированию.

Суть, однако, в том, что команды Logo в LibreOffice преобразуются в команды на языке Python и пересылаются на компилятор без какой-либо проверки безопасности.

libreoffice600.jpg
Опциональный компонент LibreOffice для обучения программированию позволяет без проверок запускать код на Python

LibreLogo - опциональный компонент LibreOffice, но он устанавливается в систему по умолчанию.

Вторая проблема заключается в том, что встроенные макросы в LibreOffice пользуются неограниченным доверием; то же касается и макросов, запускающих LibreLogo. И даже если выставить уровень безопасности макросов на «очень высокий», LibreLogo запускается без ограничений.

... и ядовитый питон

На практике это означает, что с помощью LibreLogo можно заставить LibreOffice запускать любой произвольный код на языке Python автоматически при открытии нужного документа.

Разработчики LibreOffice попытались исправить проблему в версии 6.2.5 (тестовой; официальная версия - 6.1.6). Но, как оказалось, неудачно.

Единственным способом застраховаться от проблемы остаётся деинсталляция LibreLogo.

«Отсутствие ограничений на запуск макросов в Microsoft Office конца 1990-х годов привёл к массированным эпидемиям вредоносных программ; «макрочерви» некоторое время были самой распространённой разновидностью вредоносных программ, и причинили колоссальный ущерб. В итоге разработчики Microsoft заблокировали макросы в Office по умолчанию, а также разделили форматы для документов, которые требуют использования макросов (например, .docm), и не нуждаются в них (например, .docx), - говорит Анастасия Мельникова, эксперт по информационной безопасности компании SEC Consult Services. - В формате Open Document Format, на базе которого строятся документы и LibreOffice, и OpenOffice, такого разделения нет. Эпидемии новых макрочервей можно не ожидать, однако для целевых атак данная уязвимость прекрасно подходит. Остаётся надеяться, что её вскоре заделают полностью».

Роман Георгиев

Короткая ссылка