CVE-2023-36845

Juniper Junos OS

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

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

2023-11-13

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

Juniper Junos OS on EX Series and SRX Series contains a PHP external variable modification vulnerability that allows an unauthenticated, network-based attacker to control an important environment variable. Using a crafted request, which sets the variable PHPRC, an attacker is able to modify the PHP execution environment allowing the injection und execution of code.

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

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

CVE-2023-36845 представляет собой критическую уязвимость в J-Web (веб-интерфейс управления Junos OS) на устройствах серий EX и SRX. Проблема связана с недостаточной фильтрацией входных данных в PHP-компонентах, что позволяет неавторизованному злоумышленнику удаленно изменять переменные окружения.

Основной вектор атаки заключается в манипуляции переменной PHPRC. Установив собственное значение для этой переменной через специально сформированный HTTP-запрос, атакующий может переопределить конфигурацию PHP (php.ini) и загрузить произвольный код. Это приводит к полному удаленному выполнению кода (RCE) с правами веб-сервера.

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

Основным способом устранения уязвимости является обновление Junos OS до исправленной версии. Juniper Networks выпустила соответствующие патчи для всех поддерживаемых веток.

Необходимо установить одну из следующих версий (или более новую): * Junos OS 20.2R3-S8 * Junos OS 20.4R3-S9 * Junos OS 21.2R3-S7 * Junos OS 21.3R3-S5 * Junos OS 21.4R3-S5 * Junos OS 22.1R3-S4 * Junos OS 22.2R3-S2 * Junos OS 22.3R2-S2, 22.3R3-S1 * Junos OS 22.4R2-S1, 22.4R3 * Junos OS 23.2R1-S1, 23.2R2

Команда для проверки текущей версии:

show version

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

request system software add /var/tmp/junos-install-package.tgz reboot

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

Если немедленное обновление невозможно, необходимо применить защитные меры для снижения риска эксплуатации.

  1. Полное отключение J-Web (наиболее эффективный метод):
configure
delete system services web-management
commit

  1. Ограничение доступа к J-Web только для доверенных IP-адресов с помощью Firewall Filter:
set policy-options prefix-list MGMT_IPS 192.168.1.0/24
set firewall filter MGMT_ACCESS term ALLOW_MGMT from source-address MGMT_IPS
set firewall filter MGMT_ACCESS term ALLOW_MGMT from protocol tcp
set firewall filter MGMT_ACCESS term ALLOW_MGMT from destination-port 443
set firewall filter MGMT_ACCESS term ALLOW_MGMT then accept
set firewall filter MGMT_ACCESS term RESTRICT_JWEB from protocol tcp
set firewall filter MGMT_ACCESS term RESTRICT_JWEB from destination-port 443
set firewall filter MGMT_ACCESS term RESTRICT_JWEB then discard
set firewall filter MGMT_ACCESS term DEFAULT then accept
set interfaces lo0 unit 0 family inet filter input MGMT_ACCESS
commit

  1. Использование только SSH для управления устройством:
set system services ssh
commit