John Cardinal e58ab2c100 case 4715 - download file names checked
report/download and export/download (any download key), the log-file routes and
backup download built a path from the file name in the URL with Path.Combine
and no check, so on Windows a name with a folder part or an absolute path could
reach files outside the folder (security review F21). New helper
FileUtil.FullPathInFolderOrNull accepts only a bare file name that resolves
directly inside the folder; TemporaryFileExists and BackupFileExists use it
(the download routes already call them first), and so do both log routes.
A refused name gets the same 404 as a missing file.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-24 12:20:25 -07:00
2023-01-21 01:23:19 +00:00
2026-02-02 02:48:54 +00:00
2026-02-13 09:13:54 -08:00
2022-03-31 22:35:14 +00:00
2022-03-22 20:09:17 +00:00
2023-05-02 22:12:23 +00:00
Description
No description provided
178 MiB
Languages
C# 99.6%
JavaScript 0.2%
Batchfile 0.2%