CVE-2026-75602
MediumCVSS 6.5Summary
OpenList before version 4.2.3 contains a vulnerability in the offline download feature that allows an unprivileged user to write files outside the temporary directory, potentially creating, truncating, or overwriting any file writable by the OpenList process. The vulnerability stems from a lack of containment check in the filename derived from the Content-Disposition header.
Risk Assessment
The risk includes potential system integrity compromise, unauthorized file modification, and in extreme cases, takeover of the OpenList process, leading to severe compromise.
Recommendation
It is recommended to update OpenList to version 4.2.3 or later, which contains a fix for this vulnerability.
Other vulnerabilities in OpenList
See all- CVE-2026-73509High
OpenList, a file list program that supports multiple storage, prior to 4.2.4, the authenticated /api/fs/batch_rename handler in server/handles/fsbatch.go authorizes only the source directory produced by user.JoinPath(req.SrcDir) and validates renameObject.NewName with checkRelativePath, but does not validate attacker-controlled renameObject.SrcName, supplied as src_name, before concatenating it with the authorized path and passing the result to fs.Rename. A user with rename permission can use traversal segments in src_name to make path normalization select a file outside the authorized directory and configured base path, resulting in cross-user file integrity loss, limited availability impact, and file-existence disclosure through success or error responses. This issue is fixed in version 4.2.4.
- CVE-2026-69160Medium
OpenList, a file list program that supports multiple storage, prior to 4.2.4 contains a vulnerability where share creation and update checks use strings.HasPrefix(requested_path, user.BasePath) without enforcing a directory separator boundary. An authenticated user with CanShare permission and a BasePath such as /base can submit a sibling path such as /base2/secret.txt, create a share for the out-of-scope file, and use the public share download or list handlers to read data outside the assigned directory. This issue is fixed in version 4.2.4.
Original NVD description (English source)
OpenList a file list program that supports multiple storage. Prior to 4.2.3, OpenList's offline-download feature at POST /api/fs/add_offline_download with tool: "SimpleHttp" accepts an attacker-supplied URL and saves its bytes under a per-task temporary directory before transferring them to the user's destination storage. The temporary filename comes from the attacker-controlled Content-Disposition header, is passed from parseFilenameFromContentDisposition in internal/offline_download/http/util.go to filepath.Join(task.TempDir, filename) in SimpleHttp.Run in internal/offline_download/http/client.go, and is opened with os.Create without a containment check. Because filepath.Join cleans .. segments, a non-admin user with PermAddOfflineDownload on any path can traverse out of task.TempDir and create, truncate, or overwrite any file writable by the OpenList process whose parent directory already exists. The server/handles/offline_download.go AddOfflineDownload route uses normal user authentication rather than AuthAdmin, and local-storage destinations fall through tryPutUrl in internal/offline_download/tool/add.go to the vulnerable SimpleHttp.Run path. This issue is fixed in version 4.2.3.

