mirror of
https://github.com/Threekiii/Awesome-POC.git
synced 2025-11-07 20:06:03 +00:00
35 lines
1.7 KiB
Markdown
35 lines
1.7 KiB
Markdown
# Apache Tomcat 信息泄露漏洞 CVE-2021-24122
|
||
|
||
## 漏洞描述
|
||
|
||
使用NTFS文件系统从网络位置提供资源时,Apache Tomcat版本10.0.0-M1至10.0.0-M9、9.0.0.0.M1至9.0.39、8.5.0至8.5.59和7.0.0至7.0.106在某些配置中容易受到JSP源代码公开的影响。根本原因是JRE API File.getCanonicalPath()的意外行为,这又是由Windows API(FindFirstFileW)在某些情况下的不一致行为引起的。
|
||
|
||
## 漏洞影响
|
||
|
||
```
|
||
Apache Tomcat 10.0.0-M1-10.0.0-M9
|
||
Apache Tomcat 9.0.0.M1-9.0.39
|
||
Apache Tomcat 8.5.0-8.5.59
|
||
Apache Tomcat 7.0.0-7.0.106
|
||
```
|
||
|
||
## 漏洞复现
|
||
|
||
**目前漏洞复现暂未完善**
|
||
|
||
更新补丁如下
|
||
|
||

|
||
|
||
据官方描述,该漏洞由于Windows API(FindFirstFileW)与JRE API File.getCanonicalPath的一些意外行为所导致。当使用NTFS文件系统时,可以绕过一些安全限制,最终可导致如查看某些配置中JSP的源代码等危害。
|
||
|
||
而补丁修复了 出现 **:** 的部分
|
||
|
||
```plain
|
||
getCanonicalPath()
|
||
|
||
此路径方法返回绝对唯一的标准规范路径名。此方法首先将此路径名转换为绝对形式,就像调用getAbsolutePath方法一样,然后以系统相关的方式将其映射到其唯一路径上。
|
||
也就是说如果路径中包含“.”或“..”等当前路径及上层路径表示法,则会从路径名中删除“.”和“..”使用真实路径代替。另外比较重点的是 它还会解析软链接(在UNIX平台上)以及将驱动器号(在Microsoft Windows平台上),将它们转换为标准实际路径。
|
||
```
|
||
|
||
而 **getCanonicalPath()** 解析了软链接转换为实际路径导致漏洞的产生 |