CVE-2022-35914

Teclib GLPI

ВЫСОКАЯ ВЕРОЯТНОСТЬ

Дата обнаружения

2023-03-07

Официальное описание

Teclib GLPI contains a remote code execution vulnerability in the third-party library, htmlawed.

🛡️
Технический анализ и план устранения

Суть уязвимости

CVE-2022-35914 — это критическая уязвимость типа Remote Code Execution (RCE), обнаруженная в системе управления ИТ-активами GLPI. Проблема кроется в сторонней библиотеке htMlaWed, которая поставляется вместе с дистрибутивом GLPI.

Уязвимость содержится в файле vendor/htmlawed/htmlawed/htMlaWedTest.php. Этот файл предназначен для тестирования библиотеки и позволяет передавать произвольный PHP-код через параметры запроса. Злоумышленник может отправить специально сформированный HTTP-запрос к этому скрипту, что приведет к выполнению произвольных команд на сервере с правами веб-пользователя (например, www-data). Наличие авторизации в GLPI для эксплуатации не требуется.

Как исправить

Наиболее надежным способом устранения уязвимости является обновление GLPI до актуальной стабильной версии, где уязвимый файл удален из состава поставки.

  1. Сделайте резервную копию базы данных и файлов приложения.
  2. Обновите GLPI до версии 10.0.3 или выше.
  3. Если вы используете старую ветку 9.x, обновитесь до версии 9.5.9 или выше.

Команда для обновления через консоль (в директории GLPI):

php bin/console db:update

Временные меры

Если немедленное обновление всей системы невозможно, необходимо вручную ограничить доступ к уязвимому файлу или удалить его.

Вариант 1: Удаление уязвимого файла (Рекомендуется) Удалите файл тестов библиотеки htmlawed, так как он не требуется для работы системы в продуктивной среде.

rm vendor/htmlawed/htmlawed/htMlaWedTest.php

Вариант 2: Блокировка доступа через веб-сервер (Apache) Добавьте правило в конфигурацию виртуального хоста или в файл .htaccess в корне GLPI:

<Files "htMlaWedTest.php">
    Order allow,deny
    Deny from all
</Files>

Вариант 3: Блокировка доступа через веб-сервер (Nginx) Добавьте блок location в конфигурационный файл сайта:

location ~ /vendor/.*htMlaWedTest\.php$ {
    deny all;
    return 403;
}

После внесения изменений в конфигурацию веб-сервера, перезапустите службу:

systemctl restart apache2

или

systemctl restart nginx