diff options
Diffstat (limited to 'tools/scan-view/ScanView.py')
-rw-r--r-- | tools/scan-view/ScanView.py | 5 |
1 files changed, 5 insertions, 0 deletions
diff --git a/tools/scan-view/ScanView.py b/tools/scan-view/ScanView.py index c6dddba..32570b9 100644 --- a/tools/scan-view/ScanView.py +++ b/tools/scan-view/ScanView.py @@ -707,6 +707,11 @@ File Bug</h3> return None def send_path(self, path): + # If the requested path is outside the root directory, do not open it + rel = os.path.abspath(os.path.join(self.server.root, path)) + if not rel.startswith(os.path.abspath(self.server.root) ): + return self.send_404() + ctype = self.guess_type(path) if ctype.startswith('text/'): # Patch file instead |