| 标题 | https://github.com/liweiyi/ChestnutCMS ChestnutCMS ≤1.5.3 Arbitrary file read vulnerability |
|---|
| 描述 | Chestnutcms has an arbitrary file read vulnerability. The /cms/file/read route can read the filePath path file. There are filtering functions FileExUtils.normalizePath(filePath); and !EDITABLE_FILE_TYPE.contains(FileExUtils.getExtension(path)) to determine whether the directory is traversed and whether the file type suffix is in the whitelist. NormalizePath can be bypassed by...../. !EDITABLE_FILE_TYPE.contains(FileExUtils.getExtension(path)) can use the folder creation function to first create a "1.txt?" directory and then use "1.txt?/...../[file]" to achieve arbitrary file read.
Vulnerability cause analysis
The "`FileExUtils.getExtension`" function used in the "`FileServiceImpl.java#readFile`" function of file reading can be bypassed by using "`1.txt?`”.
At this time, the suffix obtained by "`FileExUtils.getExtension`" is `txt`, which is in the whitelist, but the concatenated path in the following "`new File(root + path)`" is still our malicious path.So you can read any sensitive file on the server. |
|---|
| 来源 | ⚠️ https://r0ot.notion.site/ChestnutCMS-1-5-3-Arbitrary-file-read-vulnerability-1ae27d744f7f8074a169ca849e8a1d31?pvs=4 |
|---|
| 用户 | sidney (UID 82628) |
|---|
| 提交 | 2025-03-15 10時21分 (1 年前) |
|---|
| 管理 | 2025-03-28 12時35分 (13 days later) |
|---|
| 状态 | 已接受 |
|---|
| VulDB条目 | 301890 [ChestnutCMS 直到 1.5.3 /dev-api/cms/file/read readFile filePath 目录遍历] |
|---|
| 积分 | 17 |
|---|