fix path traversal for /view
This commit is contained in:
parent
5b425aaa40
commit
b1294fa49f
|
@ -118,11 +118,15 @@ class PromptServer():
|
|||
|
||||
output_dir = os.path.join(os.path.dirname(os.path.realpath(__file__)), type)
|
||||
if "subfolder" in request.rel_url.query:
|
||||
output_dir = os.path.join(output_dir, request.rel_url.query["subfolder"])
|
||||
full_output_dir = os.path.join(output_dir, request.rel_url.query["subfolder"])
|
||||
if os.path.commonpath((os.path.realpath(full_output_dir), output_dir)) != output_dir:
|
||||
return web.Response(status=403)
|
||||
output_dir = full_output_dir
|
||||
|
||||
file = request.rel_url.query["file"]
|
||||
file = os.path.basename(file)
|
||||
file = os.path.join(output_dir, file)
|
||||
|
||||
if os.path.isfile(file):
|
||||
return web.FileResponse(file)
|
||||
|
||||
|
|
Loading…
Reference in New Issue