Уразлівасці ў 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()" (напрыклад, "/jrest. =alol/lol/any\..\..\..\..\any\file»)

Крыніца: opennet.ru

Дадаць каментар