| Título | https://github.com/liweiyi/ChestnutCMS ChestnutCMS ≤1.5.3 Arbitrary file read vulnerability |
|---|
| Descrição | 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. |
|---|
| Fonte | ⚠️ https://r0ot.notion.site/ChestnutCMS-1-5-3-Arbitrary-file-read-vulnerability-1ae27d744f7f8074a169ca849e8a1d31?pvs=4 |
|---|
| Utilizador | sidney (UID 82628) |
|---|
| Submissão | 15/03/2025 10h21 (há 1 Ano) |
|---|
| Moderação | 28/03/2025 12h35 (13 days later) |
|---|
| Estado | Aceite |
|---|
| Entrada VulDB | 301890 [ChestnutCMS até 1.5.3 /dev-api/cms/file/read readFile filePath Travessia de Diretório] |
|---|
| Pontos | 17 |
|---|