CVE-2022-23131
Zabbix Frontend
2022-02-22
Unsafe client-side session storage leading to authentication bypass/instance takeover via Zabbix Frontend with configured SAML.
Технический анализ и план устранения
Суть уязвимости
Атакующий может обойти аутентификацию SAML и получить доступ к Zabbix Frontend с правами администратора. Для этого достаточно знать логин любого существующего пользователя Zabbix (например, Admin). Уязвимость возникает из-за неправильной обработки сессионных данных на стороне клиента (в cookie zbx_session), когда Zabbix настроен на использование SAML.
Как исправить
Необходимо обновить Zabbix Frontend до исправленной версии.
- Для Zabbix 5.4.x: обновитесь до версии 5.4.11 или выше.
- Для Zabbix 6.0.x: обновитесь до версии 6.0.9 или выше.
Пример для Ubuntu/Debian (официальный репозиторий Zabbix):
# Обновите список пакетов и установите исправленную версию
sudo apt update
sudo apt install --only-upgrade zabbix-web-service zabbix-frontend-php
После обновления перезапустите веб-сервер:
# Для Apache
sudo systemctl restart apache2
# Для Nginx + PHP-FPM
sudo systemctl restart nginx php-fpm
Временное решение
Если немедленное обновление невозможно, отключите аутентификацию через SAML, переключившись на встроенную (Internal) или другую доступную систему аутентификации.
- Войдите в Zabbix Frontend как администратор.
- Перейдите в Administration → Authentication → SAML settings.
- В поле Default authentication выберите Internal (или другой, отличный от SAML).
- Нажмите Update.
- Важно: Также заблокируйте доступ к странице входа (
/index_sso.php) через веб-сервер или WAF, добавив правило для возврата ошибки 403.
Пример правила для Nginx:
location = /index_sso.php {
deny all;
return 403;
}
Пример правила для Apache (в .htaccess или конфиге виртуального хоста):
<Location "/index_sso.php">
Require all denied
</Location>