CVE-2023-36846

Juniper Junos OS

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

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

2023-11-13

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

Juniper Junos OS on SRX Series contains a missing authentication for critical function vulnerability that allows an unauthenticated, network-based attacker to cause limited impact to the file system integrity. With a specific request to user.php that doesn't require authentication, an attacker is able to upload arbitrary files via J-Web, leading to a loss of integrity for a certain part of the file system, which may allow chaining to other vulnerabilities.

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

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

CVE-2023-36846 представляет собой критическую уязвимость в компоненте J-Web операционной системы Juniper Junos OS (серия SRX). Проблема заключается в отсутствии проверки аутентификации при обращении к скрипту user.php.

Неавторизованный злоумышленник может отправить специально сформированный HTTP-запрос, позволяющий загружать произвольные файлы в файловую систему устройства. Это приводит к нарушению целостности системы и, что наиболее опасно, позволяет создать цепочку атак (exploit chain) совместно с другими уязвимостями (например, CVE-2023-36845) для удаленного выполнения произвольного кода (RCE) с правами root.

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

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

  1. Проверьте текущую версию ОС:
show version

  1. Установите исправленную версию, соответствующую вашей ветке:
  2. Junos OS 20.2R3-S8
  3. Junos OS 20.4R3-S8
  4. Junos OS 21.2R3-S6
  5. Junos OS 21.3R3-S5
  6. Junos OS 21.4R3-S5
  7. Junos OS 22.1R3-S4
  8. Junos OS 22.2R3-S2
  9. Junos OS 22.3R2-S2, 22.3R3
  10. Junos OS 22.4R2-S1, 22.4R3
  11. Junos OS 23.2R1-S1, 23.2R2

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

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

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

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

  1. Полное отключение сервиса J-Web (рекомендуется):
configure
delete system services web-management
commit

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

  1. Отключение J-Web только на незащищенных (untrusted) интерфейсах: Убедитесь, что команда set system services web-management привязана только к внутренним интерфейсам или интерфейсу управления (fxp0).