Commit 4ea76076 by Ned Batchelder

Check that the directory being added to the Python path is really inside the course.

parent 76866506
...@@ -413,12 +413,17 @@ class LoncapaProblem(object): ...@@ -413,12 +413,17 @@ class LoncapaProblem(object):
path = [] path = []
for dir in raw_path: for dir in raw_path:
if not dir: if not dir:
continue continue
# path is an absolute path or a path relative to the data dir # path is an absolute path or a path relative to the data dir
dir = os.path.join(self.system.filestore.root_path, dir) dir = os.path.join(self.system.filestore.root_path, dir)
# Check that we are within the filestore tree.
reldir = os.path.relpath(dir, self.system.filestore.root_path)
if ".." in reldir:
log.warning("Ignoring Python directory outside of course: %r" % dir)
continue
abs_dir = os.path.normpath(dir) abs_dir = os.path.normpath(dir)
path.append(abs_dir) path.append(abs_dir)
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment