Make sure that only the log directory can be read on /server/logs

This commit is contained in:
nicolas.dorier 2019-05-30 11:46:09 +09:00
parent dde841383a
commit 0e568e2af5
No known key found for this signature in database
GPG key ID: 6618763EF09186FE

View file

@ -875,14 +875,16 @@ namespace BTCPayServer.Controllers
.ToList();
vm.LogFileOffset = offset;
if (string.IsNullOrEmpty(file))
if (string.IsNullOrEmpty(file) || !file.EndsWith(fileExtension, StringComparison.Ordinal))
return View("Logs", vm);
vm.Log = "";
var path = Path.Combine(di.FullName, file);
var fi = vm.LogFiles.FirstOrDefault(o => o.Name == file);
if (fi == null)
return NotFound();
try
{
using (var fileStream = new FileStream(
path,
fi.FullName,
FileMode.Open,
FileAccess.Read,
FileShare.ReadWrite))