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 和 log4j 设置外部 webapp 日志配置