Исследователи безопасности обнаружили в веб-интерфейсе J-Web, который используется в сетевых устройствах компании Juniper с операционной системой JunOS, несколько критических уязвимостей.
![](https://habrastorage.org/getpro/habr/upload_files/710/5e2/666/7105e2666f9a2e87bab1729550991225.jpg)
Самая опасная из них с идентификатором CVE-2022-22241 позволяет удалённо без прохождения аутентификации выполнить свой код в системе через отправку специально оформленного HTTP-запроса.
Уязвимость заключается в том, что передаваемый пользователем файловый путь обрабатывается в скрипте /jsdm/ajax/logging_browse.php без фильтрации префикса с типом контента на стадии до проверки аутентификации. Это позволяет хакеру передать под видом изображения вредоносный phar-файл и добиться выполнения размещённого phar-архиве PHP-кода путём атаки «Phar deserialization» (указав в запросе «filepath=phar:/путь/pharfile.jpg»).
При проверке загруженного файла при помощи PHP-функции is_dir() эта функция автоматически выполняет десериализацию метаданных из архива Phar (PHP Archive) при обработке путей, начинающихся с «phar://». То же самое наблюдается при обработке переданных пользователем файловых путей в функциях file_get_contents(), fopen(), file(), file_exists(), md5_file(), filemtime() и filesize().
Помимо инициирования выполнения phar-архива злоумышленник должен найти способ его загрузки на устройство (например, через обращение к /jsdm/ajax/logging_browse.php можно лишь указать путь для выполнения уже существующего файла). Также загрузка phar-файла возможна под видом картинки через сервис передачи изображений и подстановка файла в кэш web-контента.
Исследователи обнаружили ещё пять уязвимостей:
-
CVE-2022-22242 — уязвимость подстановки неотфильтрованных внешних параметров в вывод скрипта error.php, позволяющая добиться межсайтового скриптинга и выполнить в браузере пользователя произвольный JavaScript-код при переходе по ссылке. Её можно использовать для перехвата параметров сеанса администратора, если атакующим удастся добиться открытия администратором специально оформленной ссылки;
-
CVE-2022-22243 и СVE-2022-22244 — уязвимости подстановки выражений XPATH через скрипты jsdm/ajax/wizards/setup/setup.php и /modules/monitor/interfaces/interface.php, которые позволяют непривилегированному аутентифицированному пользователю манипулировать сеансами администратора;
-
CVE-2022-22245 — уязвимость отсутствия должной чистки последовательности «..» в путях, обрабатываемых в скрипте Upload.php, которая позволяет аутентифицированному пользователю загрузить свой PHP-файл в каталог, допускающий выполнение PHP-скриптов;
-
CVE-2022-22246 — уязвимость возможности выполнения произвольного локального PHP-файла через манипуляции аутентифицированным пользователем со скриптом jrest.php, в котором внешние параметры используются для формирования имени файла, загружаемого функцией «require_once()» (например, «/jrest.php?payload=alol/lol/any\..\..\..\..\any\file»).
Пользователям оборудования Juniper рекомендовали установить обновление прошивки, либо проследить, чтобы доступ к веб-интерфейсу был заблокирован из внешних сетей и ограничен только заслуживающими доверия хостами.
ссылка на оригинал статьи https://habr.com/ru/articles/696414/
Добавить комментарий