Jetty 9.4.38 将受监控的路径(上下文)公开为自己的上下文

Posted

技术标签:

【中文标题】Jetty 9.4.38 将受监控的路径(上下文)公开为自己的上下文【英文标题】:Jetty 9.4.38 exposes monitoredPath (contexts) as own context 【发布时间】:2021-09-21 11:56:47 【问题描述】:

我检查了所有配置文件并搜索了该主题的码头文档以及 github 问题,但找不到任何相关信息。

当独立运行 jetty 9.4.38 时,它将在 etc/jetty-deploy.xml 中设置为 monitorDir 的文件夹作为自己的上下文公开。

          <Arg>
            <New class="org.eclipse.jetty.deploy.providers.WebAppProvider">
              <Set name="monitoredDirName">
                <Property>
                  <Name>jetty.deploy.monitoredPath</Name>
                  <Default>
                    <Property name="jetty.base" default="." />/<Property name="jetty.deploy.monitoredDir" deprecated="jetty.deploy.monitoredDirName" default="contexts"/>  
                  </Default>
                </Property>
              </Set> 

我可以从外部访问此上下文,然后浏览文件夹中的文件(上下文 xmls...)

我可以通过设置禁止文件浏览

<init-param>
      <param-name>dirAllowed</param-name>
      <param-value>false</param-value>
</init-param>

在 etc/webdefaults.xml 中

但如果我知道路径,我仍然可以访问文件夹中包含的文件。

我希望能提供有关如何禁用此上下文的任何提示,以便无法从外部访问它。

【问题讨论】:

【参考方案1】:

升级您的 Jetty 版本。

这是不久前报告的,并已在 CVE-2021-28163 的修复中得到解决。

https://www.eclipse.org/jetty/security_reports.php

【讨论】:

以上是关于Jetty 9.4.38 将受监控的路径(上下文)公开为自己的上下文的主要内容,如果未能解决你的问题,请参考以下文章

如何在 Jetty 上的 Spring 应用程序中将 jsessionid cookie 路径更改为服务器根目录?

Jetty:部署到Jetty

Jetty Run War 仅使用命令行

使用 Jetty 和 log4j 设置外部 webapp 日志配置

Day696.Jetty如何实现具有上下文信息的责任链 -深入拆解 Tomcat & Jetty

基于Android平台的i-jetty网站智能农业监控系统