JunOS 附帶的 Juniper 網絡設備的 Web 界面中的漏洞

在 J-Web 網絡界面中發現了幾個漏洞,它用於配備 JunOS 操作系統的 Juniper 網絡設備,其中最危險的漏洞 (CVE-2022-22241) 允許您在系統中遠程執行代碼而無需通過發送專門設計的 HTTP 請求進行身份驗證。 建議 Juniper 設備的用戶安裝固件更新,如果不可能,請確保阻止外部網絡訪問 Web 界面,並僅限於受信任的主機。

該漏洞的實質是在/jsdm/ajax/logging_browse.php 腳本中對用戶傳入的文件路徑進行了處理,在認證檢查之前的階段沒有過濾帶有內容類型的前綴。 攻擊者可以偽裝成圖片傳輸惡意phar文件,通過“Phar反序列化”攻擊方式(例如指定“filepath=phar:/path/pharfile”)實現放置在phar存檔中的PHP代碼的執行.jpg”在請求中)。

問題在於,當使用 PHP 的 is_dir() 函數檢查上傳的文件時,該函數會在處理以“phar://”開頭的路徑時自動反序列化來自 Phar Archive(PHP Archive)的元數據。 在 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_NAME= alert(0) ”。 如果攻擊者成功讓管理員打開特製鏈接,則該漏洞可用於攔截管理員會話參數。
  • CVE-2022-22243、СVE-2022-22244 - 通過 j​​sdm/ajax/wizards/setup/setup.php 和 /modules/monitor/interfaces/interface.php 腳本的 XPATH 表達式替換,允許未授權的經過身份驗證的用戶操縱管理員會話。
  • CVE-2022-22245 - 未能正確清理在 Upload.php 腳本中處理的路徑中的“..”序列允許經過身份驗證的用戶將其 PHP 文件上傳到允許執行 PHP 腳本的目錄(例如,通過傳遞路徑“fileName=\. .\..\..\..\www\dir\new\shell.php”)。
  • CVE-2022-22246 - 可能通過經過身份驗證的用戶使用 jrest.php 腳本進行操作來執行任意本地 PHP 文件,其中外部參數用於形成由“require_once ()”函數加載的文件的名稱 (例如,“/jrest.php?payload =alol/lol/any\..\..\..\..\any\file”)

來源: opennet.ru

添加評論