Уразливості у web-інтерфейсі мережевих пристроїв Juniper, які постачаються з JunOS

У web-інтерфейсі J-Web, який використовується в мережевих пристроях компанії Juniper, оснащених операційною системою JunOS, виявлено кілька вразливостей, найбільш небезпечна з яких (CVE-2022-22241) дозволяє віддалено без проходження автентифікації виконати свій код у системі через відправлення спеціально оформленого HTTP-запиту. Користувачам обладнання Juniper рекомендовано встановити оновлення прошивки, а якщо це неможливо, простежити, щоб доступ до web-інтерфейсу був заблокований із зовнішніх мереж і обмежений тільки хостами, що заслуговують на довіру.

Суть уразливості в тому, що файловий шлях, що передається користувачем, обробляються в скрипті /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-код при переході за посиланням (наприклад, «https://JUNOS_IP/error.php?SERVER») alert(0) ». Вразливість може використовуватися для перехоплення параметрів сеансу адміністратора, якщо атакуючим вдасться відкриття адміністратором спеціально оформленого посилання.
  • 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-скриптів (наприклад, передавши шлях «fileName=\»). .\..\..\..\www\dir\new\shell.php»).
  • CVE-2022-22246 - можливість виконання довільного локального PHP-файлу через маніпуляції автентифікованим користувачем зі скриптом jrest.php, в якому зовнішні параметри використовуються для формування імені файлу, завантажуваного функцією "require_once()" (наприклад, "? =alol/lol/any\..\..\..\..\any\file»)

Джерело: opennet.ru

Додати коментар або відгук