JunOS 附带的 Juniper 网络设备的 Web 界面中的漏洞

J-Web Web 界面中已发现多个漏洞,该界面用于配备 JunOS 操作系统的 Juniper 网络设备,其中最危险的漏洞 (CVE-2022-22241) 允许您远程执行系统中的代码,而无需通过发送专门设计的 HTTP 请求进行身份验证。建议 Juniper 设备的用户安装固件更新,如果无法安装,请确保阻止外部网络访问 Web 界面,并仅限于受信任的主机。

该漏洞的本质是在/jsdm/ajax/logging_browse.php脚本中对用户传递的文件路径进行处理,而没有在身份验证检查之前的阶段对内容类型的前缀进行过滤。攻击者可以以图像为幌子传输恶意phar文件,并使用“Phar反序列化”攻击方法(例如指定“filepath=phar:/path/pharfile.jpg”)实现执行位于phar压缩包中的PHP代码”在请求中)。

问题是,当使用 PHP 函数 is_dir() 检查上传的文件时,该函数在处理以“phar://”开头的路径时会自动反序列化 Phar 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、CVE-2022-22244 通过 jsdm/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

添加评论