Submit #520933: https://github.com/liweiyi/ChestnutCMS ChestnutCMS ≤1.5.3 Arbitrary file read vulnerabilityinfo

Titlehttps://github.com/liweiyi/ChestnutCMS ChestnutCMS ≤1.5.3 Arbitrary file read vulnerability
DescriptionChestnutcms 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.
Source⚠️ https://r0ot.notion.site/ChestnutCMS-1-5-3-Arbitrary-file-read-vulnerability-1ae27d744f7f8074a169ca849e8a1d31?pvs=4
User
 sidney (UID 82628)
Submission03/15/2025 10:21 (1 Year ago)
Moderation03/28/2025 12:35 (13 days later)
StatusAccepted
VulDB entry301890 [ChestnutCMS up to 1.5.3 /dev-api/cms/file/read readFile filePath path traversal]
Points17

Do you want to use VulDB in your project?

Use the official API to access entries easily!